Makro ile Yinelenen Değerleri Vurgulama


İnceleme Beğeni Favori Değerlendirme Ortalama Puan Yıldız Sayısı
189 0 0 0 0
Reklam Alanı
Türkiye'nin en popüler Excel Portalındaki içeriklerin en başında reklamınızın yayınlanmasını ister misiniz?
Reklam vermek istiyorum
Bu makalemiz, Excel'de Makro ile Yinelenen Değerleri Vurgulama işleminin nasıl yapılacağını öğretmek için hazırlanmıştır.

Büyük verilerle çalışırken, yinelenen değerler sıkıntı yaratabilir. Excel‘in ön yüzünde, Yinelenenleri Kaldır seçeneği kullanılabilir.

Ama bazı durumlarda, Yinelenenleri Kaldır yapmadan önce incelemek gerekebilir. Yani, Yinelenenleri Kaldırırsanız, sıkıntı yaşayabilirsiniz.

Bu şekilde yaparsanız, kolayca kontrol eder ve gerekirse yine Yinelenenleri Kaldır seçeneği ile tek bir seferde kaldırabilirsiniz.

Aşağıdaki 4 ayrı kod ile yinelenen değerleri kolayca vurgulayabilirsiniz.

SATIRLARDA YİNELENEN DEĞERLERİ VURGULAMA


Aşağıdaki VBA kodu, bir satırdaki tüm hücreleri kontrol eder ve satırdaki aynı hücreleri vurgular..
Yani, bir satırda iki kez “24” değeri kullanılmışsa, yinelenen olarak kabul edilir ve işaretlenir.

Sub SatırlardaYinelenenDeğerler()
Dim Hucre As Range
Dim Satir As Integer
Dim Alan As Range
Dim Sutun As Integer
Dim i As Integer

Satir = Range(Cells(1, 1), Cells(1, 1).End(xlDown)).Count
Sutun = Range(Cells(1, 1), Cells(1, 1).End(xlToRight)).Count

For i = 2 To Satir
Set Alan = Range(Cells(i, 2), Cells(i, Sutun))
 For Each Hucre In Alan
 If WorksheetFunction.CountIf(Alan, Hucre.Value) > 1 Then
 Hucre.Interior.ColorIndex = 3
 End If
 Next
Next
End Sub
Makroda, yinelenen her satırı kontrol etmek için döngü kullanılmıştır.

Bu kodda dikkat edilecek önemli noktalar


  1. Veri aralığınızda boş bir satır veya sütun olmamalıdır, aksi takdirde bu hücreyi yok sayılır. Bu da hata demektir.
  2. Veri aralığınızda başlangıç hücresi "A1" olmalıdır. Eğer başka bir başlangıç noktası ayarlamak istiyorsanız, makroyu revize etmeniz gerekir.
  3. İlk satır ve sütunlarınızda başlık olmalıdır.



SÜTUNLARDAKİ YİNELENEN DEĞERLERİ VURGULAMA


Aşağıdaki VBA kodu, bir sütundaki tüm hücreleri kontrol eder ve sütundaki aynı hücreleri vurgular..
Yani, bir sütunda iki kez "24" değeri kullanılmışsa, yinelenen olarak kabul edilir ve işaretlenir.

Sub SutunlardaYinelenenDeğerler()
Dim Hucre As Range
Dim Satir As Integer
Dim Alan As Range
Dim Sutun As Integer
Dim i As Integer

Satir = Range(Cells(1, 1), Cells(1, 1).End(xlDown)).Count
Sutun = Range(Cells(1, 1), Cells(1, 1).End(xlToRight)).Count

For i = 2 To Satir
Set Alan = Range(Cells(2, i), Cells(Satir, i))
 For Each Hucre In Alan
 If WorksheetFunction.CountIf(Alan, Hucre.Value) > 1 Then
 Hucre.Interior.ColorIndex = 3
 End If
 Next
Next
End Sub



SEÇİLİ ARALIKTAKİ YİNELENEN DEĞERLERİ VURGULAMA

Sadece seçtiğiniz bir aralıktaki yinelenen değerleri vurgulamak istiyorsanız, aşağıdaki kod işinizi görecektir.
Bir hücre aralığı seçmeniz kodu çalıştırmanız yeterli olacakır. Kod her bir hücreyi kontrol eder ve o hücrenin yinelenen değeri varsa, kırmızı renkle vurgular.
Sub SeçiliAralıktakiYinelenenDeğerler()
Dim Alan As Range
Dim i As Integer
Dim j As Integer
Dim Hucre As Range

Set Alan = Selection
For Each Hucre In Alan
 If WorksheetFunction.CountIf(Alan, Hucre.Value) > 1 Then
 Hucre.Interior.ColorIndex = 3
 End If
Next
End Sub



TÜM VERİLERİ VURGULAMA

Büyük verilerinizde, tüm alanı kontrol etmek ve yinelenen değerleri vurgulamak için aşağıdaki makro kodunu kullanabilirsiniz.
Kod her hücreyi tek tek kontrol eder ve yinelenen tüm hücrelere kırmızı renk uygular.
Sub TümVerilerdeYinelenenDeğerler()
Dim Alan As Range
Dim i As Integer
Dim j As Integer
Dim Hucre As Range
Set Alan = Range("Tablo1")

For Each Hucre In Alan
 If WorksheetFunction.CountIf(Alan, Hucre.Value) > 1 Then
 Hucre.Interior.ColorIndex = 3
 End If
Next
End Sub
Önemli Not:
Yukarıdaki kodda, "Tablo1" adı kullanılmıştır. Kendi çalışmalarınızda kullanmak için bu kısmı revize etmeniz gerekir. Eğer bir aralık ya da sayfa adı şeklinde kullanabilirsiniz.

BONUS İPUCU: YİNELENEN DEĞERLERİ SAYMA

Aşağıdaki kod, seçtiğiniz alandaki yinelenen değerlerin kaç tane olduğunu saymanıza yardımcı olur. Kodu çalıştırdığınızda, sayıyı gösteren bir mesaj kutusu çıkacaktır.
Sub YinelenenDeğerleriSayma()
Dim i As Integer
Dim j As Integer
Dim Hucre As Range
Dim Alan As Integer
Alan = Range("Tablo1").Count
j = 0
For Each Hucre In Range("Table1")
 If WorksheetFunction.CountIf(Range("Tablo1"), Hucre.Value) > 1 Then
 j = j + 1
 End If
Next
MsgBox j
End Sub
Excel’de Makro ile Yinelenen Değerleri Vurgulama nasıl yapılacağıını öğrenmek için Tablo1 şeklinde olan kısmı kendinize göre revize etmeyi unutmayın. Örnek dosyamızı, buradan indirebilirsiniz.

Daha önce yorum yapılmamış!

Excel VBA kodları yazarken bazı durumlarda ve vba yapısı gereğince kod satırları ekrana sığmamakta ve sağa doğru uzayabilmektedir. Özellikle kodların okunması, incelenmesi esnasında çok can sıkıcı olan bu uzun kodları, alt tire kullanarak kısaltıp, bir alt satırda listeleyebilir ve ekrana sığmasını sağlayabilirsiniz.

Örnek:
Sub Deneme()
Application.Visible = _
False
End Sub

Alt tire (_) kullanarak False komutunu alt satırda sorunsuz bir şekilde göstermeyi sağladık.
İLGİ ÇEKİCİ İÇERİKLER
İçerik Adı Ekleyen Tarih Tür
Sıra Numarası Vermek Feyzullah 17 Ekim 2019 dosya
ProgressBar | ProgressBar Belirlenen Satır ve Sütunları Rastgele Sayılar ile Doldurma cakarem 14 Eylül 2019 dosya
Excel ile Tersten Sıralama admin 15 Şubat 2019 dosya
Sadece izin verilen kelimeler girilsin admin 14 Ağustos 2017 dosya
Hücrede Renk Skalası cakarem 02 Kasım 2019 dosya
Yükleniyor...