Excel VBA ile Tekrarlanan Verileri Kaldırma
1. Hemen Kullanılabilir 4 Adet VBA Tekrarlanan Verileri Kaldırma Kodu
1. RemoveDuplicates ile Temizle
A sütunundaki tekrarlanan verileri kaldırır (başlık var).
Sub RemoveDuplicatesTemizle()
Range("A1:A100").RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
3. Döngü ile Manuel Temizle
Tersten döngü ile tekrarlanan satırları siler.
Sub DonguIleTemizle()
Dim i As Long, j As Long, sonSatir As Long
sonSatir = Cells(Rows.Count, 1).End(xlUp).Row
For i = sonSatir To 2 Step -1
For j = i - 1 To 1 Step -1
If Cells(i, 1) = Cells(j, 1) Then Rows(i).Delete: Exit For
Next
Next
End Sub
2. Dictionary ile Benzersiz Değerler
A sütunundaki benzersiz değerleri B sütununa yazar.
Sub DictionaryBenzersiz()
Dim dict As Object: Set dict = CreateObject("Scripting.Dictionary")
Dim hucre As Range, i As Long: i = 1
For Each hucre In Range("A1:A100")
If hucre <> "" And Not dict.exists(hucre.Value) Then
dict.Add hucre.Value, hucre.Value
Cells(i, 2) = hucre.Value: i = i + 1
End If
Next
End Sub
4. Çoklu Sütunda Tekrarları Kaldır
A, B, C sütunlarındaki kombinasyonları benzersiz yapar.
Sub CokluSutunTemizle()
Range("A1:C100").RemoveDuplicates Columns:=Array(1,2,3), Header:=xlYes
End Sub
2. VBA Makroları için Ön Hazırlık
1. Geliştirici Sekmesini Aktifleştirin
Excel'de VBA kodlarını yazabilmek için önce Geliştirici sekmesini aktif etmelisiniz. Detaylı bilgi için tıklayın.
3. Modül Ekleyin
Kodlarınızı yazmak için bir Modül eklemelisiniz. Makro yazma rehberi için tıklayın.
2. Visual Basic Düzenleyici'yi Açın
Alt + F11 (Windows) veya Option + F11 (Mac) ile hızlıca açabilirsiniz.
4. Kodu Çalıştırın
Yazdığınız kodu çalıştırmak için F5 tuşuna basın veya Çalıştır butonuna tıklayın. VBA makro nedir? öğrenmek için tıklayın.
F5
▶️ Makroyu çalıştır
3. Sık Yapılan Hatalar ve Çözümleri
| Hata Türü | Nedeni | Çözüm |
|---|---|---|
| RemoveDuplicates çalışmıyor | Yanlış aralık veya sütun | Doğru aralık ve sütun numarası belirtin. |
| Dictionary hatası | Mac'te çalışmıyor | Mac'te ArrayList veya Collection kullanın. |
| Makro çalışmıyor | Makro güvenlik ayarları | Dosya → Seçenekler → Güven Merkezi → Makro ayarlarını kontrol edin. |
| Yanlış satır silme | Döngü yönü yanlış | Tersten döngü (Step -1) kullanın. |
| VBA hata yönetimi | Kodda hata yakalama yok | Kodlarınıza On Error Resume Next veya hata yönetimi ekleyin. VBA makro hataları ve çözümleri sayfasını ziyaret edin. |
4. Sıkça Sorulan Sorular
01 Excel VBA ile tekrarlanan veriler nasıl kaldırılır?
Excel VBA'da tekrarlanan verileri kaldırmak için RemoveDuplicates yöntemini kullanabilirsiniz. Örneğin: Range("A1:A100").RemoveDuplicates Columns:=1, Header:=xlYes
02 RemoveDuplicates ile Dictionary arasındaki fark nedir?
RemoveDuplicates doğrudan hücre aralığında çalışır ve verileri kalıcı olarak siler. Dictionary ise bellekte benzersiz değerleri toplar ve daha esnek kontroller sağlar.
03 Mac'te Excel VBA ile tekrarlanan veriler kaldırılabilir mi?
Evet, Mac'te Excel VBA ile tekrarlanan verileri kaldırmak Windows ile aynı kodlarla çalışır. RemoveDuplicates yöntemi Mac'te de desteklenir.
04 Birden fazla sütunda tekrarlanan veriler nasıl kaldırılır?
Birden fazla sütunda tekrarlanan verileri kaldırmak için Columns:=Array(1,2,3) parametresini kullanabilirsiniz.
05 Tekrarlanan verileri kaldırırken başlık satırı nasıl korunur?
Header:=xlYes parametresini kullanarak başlık satırını koruyabilirsiniz. Bu, ilk satırın başlık olarak algılanmasını sağlar.
06 VBA ile tekrarlanan verileri kaldırırken hata alıyorum, ne yapmalıyım?
En sık karşılaşılan hatalar: 1) Geçersiz aralık → Doğru aralık belirtin. 2) Başlık parametresi yanlış → Header:=xlYes veya xlNo kullanın. 3) Makro güvenlik ayarları → Makroları etkinleştirin.