Merhaba Hocalarım,
ekli örnekte yapmak istediğim A sütununa veri girilince D sütununda kontrol edecek yoksa ekleyecek.
Saygılarımla,
Merhaba Sayın @
yenginoglu
Excelde çalışma sayfanızın değiştiğinde olayına (Worksheet_Change)
Dim StrInputValue As String, Rng As Range, LastRow As Long
If Not Intersect(Target, Me.Columns("A")) Is Nothing Then 'Sadece A sütunundaki hücreler için işlem yap
StrInputValue = Target.Value 'Değiştirilen hücre değerini al
If StrInputValue <> "" Then 'Eğer hücrede veri yoksa işlem yapma
Set Rng = Me.Range("A:A").Find(What:=StrInputValue, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False) 'A sütununda bu değeri bul
If Rng Is Nothing Or Rng.Address = Target.Address Then 'Eğer veri A sütununda yoksa veya sadece girilen hücrede varsa
LastRow = Me.Cells(Me.Rows.Count, "D").End(xlUp).Row 'D sütunundaki son dolu hücreyi bul
If LastRow < 4 Then LastRow = 4 'D4'ten önceki boş hücreleri ihmal et
Me.Cells(LastRow + 1, "D").Value = StrInputValue 'Değeri D4'ten sonra sütunda ilk boş hücreye ekle
End If
End If
End If
şeklinde gireceğiniz kod, A sütununda girilen hücre boş ise veya girilen değer mükerrer kayıt ise ve dolayısı ile D sütununda da olacağından işlem yapmadan devam edip, şayet A sütununda girilen yeni veri ise D'de olup olmadığını kontrol edecek ve yoksa D4'ten sonraki ilk boş hücreye ekleyecektir.
Merhaba Hocam,
Ellerinize sağlık, bence harika bir kod çok teşekkür ederim.
Saygılarımla,
Rica ederim, iyi çalışmalar.