• DİKKAT

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

Komple sütunda aratıp alt hücreyi kopyalatma

Merhaba,
Anladığım kadarıyla şöyle bir kod yazdım. Deneyiniz...
Kod:
Sub kod()
For a = 1 To Range("A65500").End(3).Row
    If WorksheetFunction.CountIf(Range("B:B"), Cells(a, "A")) > 0 Then
        sat = WorksheetFunction.Match(Cells(a, "A"), Range("B:B"), 0)
        Cells(sat, "C") = Cells(sat, "B")
        Cells(sat + 1, "C") = Cells(a + 1, "A")
    End If
    sat = Empty
Next
End Sub
 
Kodu çalıştırdığımda 400 uyarısı veriyor.

A sütunu 6000 satır B sütunu 50000 satır. Acaba satır sayısı sorun olabilir mi? Yoksa kodda mı hata var?
 
Sayın mucit77'nin kodunu çalıştırdığımda bende hata vermedi.
 
A150 hücresinde bir formül var ve AD hatası vermiş. Onu silince 1004 "Application defined or object defined error" hatası veriyor. NEdenini çözemedim.
 
Örnek dosyanız için aşağıdaki kodu deneyiniz. Verileriniz çok fazla olduğu için bir müddet bilgisayarınız kitlenebilir.
Kod:
Sub KOD()
DoEvents
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim sat As Long, a As Long
Range("C:C").Clear
Range("B:B").Copy Range("C:C")
For a = 1 To Range("A65500").End(3).Row Step 2
    If WorksheetFunction.CountIf(Range("B:B"), Cells(a, "A")) > 0 Then
        sat = WorksheetFunction.Match(Cells(a, "A"), Range("B:B"), 0)
        Cells(sat + 1, "C") = Cells(a + 1, "A")
    End If
    sat = Empty
Next
Application.ScreenUpdating = True
End Sub
 
Hocam elleriniz dert görmesin. Beni büyük bir yükten kurtardınız. Son gönderdiğiniz kodlar sorunsuz çalıştı.
 
Geri
Üst