Sayın hocalarım, aşağıda yazmış olduğum kodlamada sıkıntı yaşadım.
850 satırda aradığım değeri 512579 satırdaki değerler ile eşleştirmeye çalışıyorum. Eşleştirirken özel bir şart daha aradım. Kodlamada I sütununda yer alan 850 değeri öncelikle O sütununda eşleştirdim. Daha sonra eşleşen "O" sütunun yanındaki "N" sütunun aradığım değer ile eşleşiyorsa "O" ve "N" nin bulunduğu satırda "P" sütununda yer alan değeri ilk eşeştirdiğim "I" sutununun yanındaki "J" sütununa yerleştirdim. Veri setim az olduğunda 22.000 civarı sıkıntı yaşamadım. ancak veri setim 500.000'in üzerine çıkınca makro kendini iptal etti. anlayamadım. Sizden ricam şudur, excel veri seti arttıkça For next döngüsünü çalıştırabilirmi, yoksa kapasitesi mi yetmiyor. Excell 2007 kullanıyorum. Bu durumu nasıl aşabilirim. Yardımcı olursanız sevinirim. Saygılarımla.
Sub eslestir ()
Soru = MsgBox("EŞLEŞTİRMEYİ ONAYLIYORMUSUN...", vbYesNo, "AD EŞLEŞTİRME DURUMU..")
If Soru = vbYes Then
Dim Index, Index2 As Integer
For Index = 2 To Sayfa4.Cells(1048576, "I").End(xlUp).Row 'aranan Burası 65536 olunca çalışıyor
tc1 = CStr(Sayfa4.Cells(Index, "I").Value)
For Index2 = 2 To Sayfa4.Cells(1048576, "O").End(xlUp).Row ' ana değer Burası 65536 olunca çalışıyor
tc2 = CStr(Sayfa4.Cells(Index2, "O").Value)
tc3 = CStr(Sayfa4.Cells(Index2, "N").Value) 'eşleştirilen değerler
If tc1 = tc2 Then
If tc3 = "2100043" Then ARANAN
Sayfa4.Cells(Index, "J") = Sayfa4.Cells(Index2, "P") 'AYK
Else
End If
End If
Next Index2
Next Index
End If
MsgBox ("EŞLEŞTİRME TAMAMLANDI...")
Exit Sub
End Sub
850 satırda aradığım değeri 512579 satırdaki değerler ile eşleştirmeye çalışıyorum. Eşleştirirken özel bir şart daha aradım. Kodlamada I sütununda yer alan 850 değeri öncelikle O sütununda eşleştirdim. Daha sonra eşleşen "O" sütunun yanındaki "N" sütunun aradığım değer ile eşleşiyorsa "O" ve "N" nin bulunduğu satırda "P" sütununda yer alan değeri ilk eşeştirdiğim "I" sutununun yanındaki "J" sütununa yerleştirdim. Veri setim az olduğunda 22.000 civarı sıkıntı yaşamadım. ancak veri setim 500.000'in üzerine çıkınca makro kendini iptal etti. anlayamadım. Sizden ricam şudur, excel veri seti arttıkça For next döngüsünü çalıştırabilirmi, yoksa kapasitesi mi yetmiyor. Excell 2007 kullanıyorum. Bu durumu nasıl aşabilirim. Yardımcı olursanız sevinirim. Saygılarımla.
Sub eslestir ()
Soru = MsgBox("EŞLEŞTİRMEYİ ONAYLIYORMUSUN...", vbYesNo, "AD EŞLEŞTİRME DURUMU..")
If Soru = vbYes Then
Dim Index, Index2 As Integer
For Index = 2 To Sayfa4.Cells(1048576, "I").End(xlUp).Row 'aranan Burası 65536 olunca çalışıyor
tc1 = CStr(Sayfa4.Cells(Index, "I").Value)
For Index2 = 2 To Sayfa4.Cells(1048576, "O").End(xlUp).Row ' ana değer Burası 65536 olunca çalışıyor
tc2 = CStr(Sayfa4.Cells(Index2, "O").Value)
tc3 = CStr(Sayfa4.Cells(Index2, "N").Value) 'eşleştirilen değerler
If tc1 = tc2 Then
If tc3 = "2100043" Then ARANAN
Sayfa4.Cells(Index, "J") = Sayfa4.Cells(Index2, "P") 'AYK
Else
End If
End If
Next Index2
Next Index
End If
MsgBox ("EŞLEŞTİRME TAMAMLANDI...")
Exit Sub
End Sub
Son düzenleme:
