• DİKKAT

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

Hücre içinde for döngüsü sağlamak

Katılım
13 Ocak 2013
Mesajlar
11
Excel Vers. ve Dili
2010
Merhaba,

Elimde 89000 satır lık bir for döngüsü var, b kolonunda ki verilerin c veya de kolonlarında olup olmadığını kontrol eden(varsa tekrar sayısını yazan) bir for döngüsü yazmaya çalışıyorum. Yazdığım kod çalışıyor ama çok fazla veri olduğu için sistem takılıyor.

Bu sorunu çözmek için kod üzerinde nasıl bir değişiklik yapmalıyım ?

acaba bu döngüyü bir hücre içinde yazma ihtimalim var mı eğer(ve(düşeyara) şeklinde ? Ya da başka bir çözüm yöntemi var mı ?


Şimdiden çok teşekürler


Kod:
Sub arama()
Dim counter As Integer
counter = 0
For i = 2 To 88965
    For x = 2 To 88965
        If Cells(i, 6) = Cells(x, 7) Or Cells(i, 6) = Cells(x, 8) Then
        'counter = counter + 1        
        End If
    Next x
'Cells(i, 9) = counter   
'counter = 0
Next i
End Sub
 
Ekteki gibi denermisiniz.

Kod:
Sub arama()
For i = 2 To 88965
adet = WorksheetFunction.CountIf(Range("G2:H89966"), Cells(i, 6).Value)
        If adet > 0 Then
        Cells(i, 9) = adet
       End If
Next i
End Sub
 
Çok teşekkür ederim, peki şunu sağlama şanşımız var mı ?

For döngüsü aramayı kendi satırı hariç yapabilir mi ? Herhalde burada range i dinamik hale getirmek gerekiyor ?
eğer i=2 ise 2. satır hariç diğer satırlarda arama yapmak, 5 ise 5. satır hariç arama yapmak gibi.

Şimdiden çok teşekürler
 
Çok teşekkür ederim, peki şunu sağlama şanşımız var mı ?

For döngüsü aramayı kendi satırı hariç yapabilir mi ? Herhalde burada range i dinamik hale getirmek gerekiyor ?
eğer i=2 ise 2. satır hariç diğer satırlarda arama yapmak, 5 ise 5. satır hariç arama yapmak gibi.

Şimdiden çok teşekürler

Merhaba bunu yapmak için ekteki gibi denermisiniz.


Sub arama()
For i = 2 To 88965
adet = WorksheetFunction.CountIf(Range("G2:H89966"), Cells(i, 6).Value)
adet2 = WorksheetFunction.CountIf(Range("G" &i &":H" &i), Cells(i, 6).Value)
Adet3=adet-adet2


If adet3 > 0 Then
Cells(i, 9) = adet
End If
Next i
End Sub
 
Geri
Üst