• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Veri karşılaştırma makrosu

  • Konbuyu başlatan Konbuyu başlatan Zahir
  • Başlangıç tarihi Başlangıç tarihi
Katılım
21 Mart 2006
Mesajlar
234
Excel Vers. ve Dili
Excel 2003 - İngilizce
Herkese kolay gelsin;

Bir sayfada bulunan verileri diğer sayfada olup olmadığını kontrol eden var ise "Var" yok ise "Yok" yazdıran bir formül yazdım. Topla çarpım ile yazdığım bu formülü 40.000 satıra uyarladığımda bilgisayar kilitleniyor ve sonuca bir türlü ulaşamıyorum. Bu formülü makroyla nasıl halledebilirim.
 
Pardon arkadaşlar dosyayı eklemeyi unutmuşum
 

Ekli dosyalar

Pardon arkadaşlar dosyayı eklemeyi unutmuşum

bu kodu denermisiniz .

Sub AKTAR()
For i = 2 To Worksheets("Sayfa1").[b65536].End(3).Row
deg = ""
For j = 2 To Worksheets("Sayfa2").[b65536].End(3).Row
If Sheets("Sayfa1").Cells(i, 2).Value = Sheets("Sayfa2").Cells(j, 2).Value Then
deg = 1
End If
If deg = 1 Then
Sheets("Sayfa1").Cells(i, 4).Value = "Var"
Else
Sheets("Sayfa1").Cells(i, 4).Value = "Yok"
End If
Next j
Next i
MsgBox "işlem tamam"
End Sub
 
Sayın Halit3 verdiğim örnekteki tüm veriler yani 3 sutundaki veri diğer sayfadakilerle birebir aynı olması gerekiyordu. Siz sanırım 2.sutun aynı olacak diye düşünmüş olmalısınız ki 2.sutundaki verileri karşılaştırmışsınız. Bende verdiğiniz kodlar üzerinde epey uğraştım ve 3 sutunuda karşılaştıracak kodların elde ettim. İlgilendiğiniz için teşekkür ederim.
Kodlar :

Sub AKTAR()
For i = 2 To Worksheets("Sayfa1").[b65536].End(3).Row
For j = 2 To Worksheets("Sayfa2").[b65536].End(3).Row
deg1 = ""
deg2 = ""
deg3 = ""
If Sheets("Sayfa1").Cells(i, 1).Value = Sheets("Sayfa2").Cells(j, 1).Value Then
deg1 = 1
End If
If Sheets("Sayfa1").Cells(i, 2).Value = Sheets("Sayfa2").Cells(j, 2).Value Then
deg2 = 1
End If
If Sheets("Sayfa1").Cells(i, 3).Value = Sheets("Sayfa2").Cells(j, 3).Value Then
deg3 = 1
End If
If deg1 = 1 And deg2 = 1 And deg3 = 1 Then
Sheets("Sayfa1").Cells(i, 4).Value = "Var"
Exit For
Else
Sheets("Sayfa1").Cells(i, 4).Value = "Yok"
End If
Next j
Next i
MsgBox "işlem tamam"
End Sub
 
alternatif kod

Sub AKTAR()
For i = 2 To Worksheets("Sayfa1").[b65536].End(3).Row
deg = ""
ARANAN = Sheets("Sayfa1").Cells(i, 1).Value & Sheets("Sayfa1").Cells(i, 2).Value & Sheets("Sayfa1").Cells(i, 3).Value
For j = 2 To Worksheets("Sayfa2").[b65536].End(3).Row
BULUNAN = Sheets("Sayfa2").Cells(j, 1).Value & Sheets("Sayfa2").Cells(j, 2).Value & Sheets("Sayfa2").Cells(j, 3).Value
If ARANAN = BULUNAN Then
deg = 1
End If
If deg = 1 Then
Sheets("Sayfa1").Cells(i, 4).Value = "Var"
Else
Sheets("Sayfa1").Cells(i, 4).Value = "Yok"
End If
Next j
Next i
MsgBox "işlem tamam"
End Sub
 
Geri
Üst