Arkadaşım for a=1 to 100 ile başlayan döngü hiç birşekilde çalışmıyor zaten ... a'nın değeri hep "1" ... 100'e kadar artmasını istemişsin ama hiç artmıyor. Bunu çıkardım. hata kesildi.
Aşağıdaki şekilde denermisin lütfen, ben de hata vermedi.
Sub BI_YERE_KADAR()
Dim a, b, c As Integer
b = 2
a = 1
If Cells(a, 1).Value = "" Then
GoTo bitir
End If
For c = 1 To 100
If Cells(a, 1).Value = Cells(b, 1).Value Then
Cells(b, 1).Interior.ColorIndex = 4
Cells(a, 1).Interior.ColorIndex = 3
b = b + 1
Else
b = b + 1
End If
Next c
If a = a Then
b = b - 499 '499 rakamı üstteki FOR döngülerinden 1 eksik olacak.
End If
bitir:
End Sub
Sub BI_YERE_KADAR()
Dim a, b, c As Integer
b = 2
For a = 1 To 500
If Cells(a, 1).Value = "" Then
GoTo bitir
End If
For c = 1 To 500
If Cells(a, 1).Value = Cells(b, 1).Value Then
Cells(b, 1).Interior.ColorIndex = 3
Cells(a, 1).Interior.ColorIndex = 3
b = b + 1
Else
b = b + 1
End If
Next c
If a = a Then
b = b - 499 '499 rakamı üstteki FOR döngülerinden 1 eksik olacak.
End If
Next
bitir:
End Sub
Kodun aslı bu ve tarafımdan yazılmıştı.
Sayın ripek,
b=b-499 'u bu kodlarla yazılırsa hata vermez.
+ bu satırlarla 32bin küsur satır kontrol edilebiliyor. 33bin olduğunda b değişkeni döngüde hata verir. (65536 satırın üstüne çıktığından)
Yalnız belirteyim ki for döngülerindeki rakamları 32 binli rakamlara çıkartırsanız işlemin tamamlanması 7-8 saati bulur sanıyorum.
Sayın Semprass,
bundan daha fazla yardımcı olamadığım için üzgünüm.
Kolay gelsin...
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.