DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub eksikleribul()
For a = 1 To 3000
say = WorksheetFunction.CountIf([a:a], a)
If say = 0 Then
c = c + 1
Cells(c, "b") = a
End If
Next
End Sub
Sub EKSİK_DEĞERLERİ_LİSTELE()
Columns(3) = ""
Satır = 1
For X = 1 To [A65536].End(3).Row
Fark = Cells(X + 1, 1) - Cells(X, 1)
If Fark > 1 Then
For Y = 1 To Fark - 1
Cells(Satır, 3) = Cells(X, 1) + Y
Satır = Satır + 1
Next
End If
Next
End Sub
Not: Sn. leventm sizin önerdiğiniz kodu denedim sanki biraz yavaş listeledi.
Sub Eksikleri_Listele()
Columns(2) = ""
En_Küçük = WorksheetFunction.Min(Columns(1))
En_Büyük = WorksheetFunction.Max(Columns(1))
For X = En_Küçük To En_Büyük
Say = WorksheetFunction.CountIf(Columns(1), X)
If Say = 0 Then
Satır = Satır + 1
Cells(Satır, "B") = X
End If
Next
End Sub
......Arkadaşımızın verdiği örnekte eğer aralarda boş hücre varsa sizin önerdiğiniz kod daha kullanışlı. Benim önerdiğim kod bu durumda sağlıklı çalışmıyor.........
(Bu ince detayda ustalık farkı olsun artık.) Elinize sağlık.
Sub listele()
On Error Resume Next
For a = 1 To 3000
If WorksheetFunction.Match(a, [a:a], 0) = 0 Then
c = c + 1
Cells(c, "c") = a
End If
Next
End Sub
Sub listele()
On Error Resume Next
[c:c].ClearContents
For a = 1 To [a65536].End(3)
If WorksheetFunction.Match(a, [a:a], 0) = 0 Then
c = c + 1
Cells(c, "c") = a
End If
Next
End Sub