- Katılım
- 11 Ocak 2008
- Mesajlar
- 1,395
- Excel Vers. ve Dili
- Office 365 (Türkçe)
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D6:E31]) Is Nothing Then Exit Sub
Set s1 = Sheets("BİLGİ GİRME")
son = s1.Cells(Rows.Count, "A").End(3).Row
a = Target.Row
If Cells(a, "C") <> "" And Cells(a, "D") <> "" Then
For i = 2 To son
If s1.Cells(i, "A") = Cells(a, "D") And s1.Cells(i, "B") = Cells(a, "E") Then
Cells(a, "B") = s1.Cells(i, "C")
i = son
End If
Next
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("d6:e32")) Is Nothing Then Exit Sub
Cancel = True
Application.ScreenUpdating = False
Application.Calculation = xlManual
adı = Trim(Cells(Target.Row, "d").Value)
soyadı = Trim(Cells(Target.Row, "e").Value)
Cells(Target.Row, "B").Value = ""
If adı = "" Then Exit Sub
If soyadı = "" Then Exit Sub
For r = 2 To Worksheets("BİLGİ GİRME").Cells(Rows.Count, "a").End(3).Row
bulunan1 = Trim(Sheets("BİLGİ GİRME").Cells(r, "a").Value)
bulunan2 = Trim(Sheets("BİLGİ GİRME").Cells(r, "b").Value)
If bulunan1 = adı And bulunan2 = soyadı Then
Cells(Target.Row, "b").Value = Sheets("BİLGİ GİRME").Cells(r, "c").Value
End If
Next
Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End Sub
bu formülü dediğiniz gibi Tc kimlik ile de yapalım ama bu sadece ad soyadı yazınca aynı isimle kişi çakışma olunca geçerli olsun, olurmu.Muhtemelen çözüm bulunur ancak benim önerim ya ad ve soyadları aynı hücreye yazın ya da TC kimlik no/sicil no gibi benzersiz bir sütun daha kullanın. İsim benzerliğine karşı benzersiz sütun kullanmak daha iyi olur. Böylece düşeyara ya da başka formüllerle çözüm bulunabilir.
BU KOD sadece 1 sayfada bilgiyi arayıp buluyor sayenizde, bunu şöyle düşünsek aynı başlıkta ve aynı özellikte (istanbulda 39 ilçemizde 39 ilçe dosyası) dosyadan arayıp getirse biraz zor gözüküyor benim bilgimi fersah fersah aşıyor. üstatlar sizce olabilirmi.Alternatif kod
Kod:Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("d6:e32")) Is Nothing Then Exit Sub Cancel = True Application.ScreenUpdating = False Application.Calculation = xlManual adı = Trim(Cells(Target.Row, "d").Value) soyadı = Trim(Cells(Target.Row, "e").Value) Cells(Target.Row, "B").Value = "" If adı = "" Then Exit Sub If soyadı = "" Then Exit Sub For r = 2 To Worksheets("BİLGİ GİRME").Cells(Rows.Count, "a").End(3).Row bulunan1 = Trim(Sheets("BİLGİ GİRME").Cells(r, "a").Value) bulunan2 = Trim(Sheets("BİLGİ GİRME").Cells(r, "b").Value) If bulunan1 = adı And bulunan2 = soyadı Then Cells(Target.Row, "b").Value = Sheets("BİLGİ GİRME").Cells(r, "c").Value End If Next Application.ScreenUpdating = True Application.Calculation = xlAutomatic End Sub