- Katılım
- 18 Kasım 2012
- Mesajlar
- 423
- Excel Vers. ve Dili
- Microsoft Office 365
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, Range("G2:G" & Rows.Count)) Is Nothing Then Exit Sub
a = Target.Row
Set s1 = Sheets("Veri")
son = s1.Cells(Rows.Count, "G").End(3).Row
If Target = "" Then
Application.EnableEvents = False
Range("A" & a & ":L" & a).ClearContents
Application.EnableEvents = True
ElseIf WorksheetFunction.CountIf(s1.Range("G1:G" & son), Target) > 0 Then
Application.EnableEvents = False
sat = WorksheetFunction.Match(Target, s1.Range("G1:G" & son), 0)
s1.Range("A" & sat & ":L" & sat).Copy: Cells(a, "A").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Target.Select
Application.EnableEvents = True
Else
Range("A" & a & ":F" & a) = "Bulunamadı"
Range("H" & a & ":L" & a) = "Bulunamadı"
End If
End Sub
Aşağıdaki kodları Liste sayfasının kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) kopyalayıp deneyin. Liste sayfasının G sütununda değişiklik yaptıkça kodlar çalışır:
PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("G2:G" & Rows.Count)) Is Nothing Then Exit Sub a = Target.Row Set s1 = Sheets("Veri") son = s1.Cells(Rows.Count, "G").End(3).Row If Target = "" Then Application.EnableEvents = False Range("A" & a & ":L" & a).ClearContents Application.EnableEvents = True ElseIf WorksheetFunction.CountIf(s1.Range("G1:G" & son), Target) > 0 Then Application.EnableEvents = False sat = WorksheetFunction.Match(Target, s1.Range("G1:G" & son), 0) s1.Range("A" & sat & ":L" & sat).Copy: Cells(a, "A").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False Target.Select Application.EnableEvents = True Else Range("A" & a & ":F" & a) = "Bulunamadı" Range("H" & a & ":L" & a) = "Bulunamadı" End If End Sub
Sub aktif()
Application.EnableEvents = True
End Sub
= "Bulunamadı" ifadeleri yerine .ClearContents ifadelerini kullanın.Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("G:G")) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
Range("A" & Target.Row & ":F" & Target.Row & ",H" & Target.Row & ":L" & Target.Row) = _
"=IF(XLOOKUP(RC7,Veri!R2C7:R10000C7,XLOOKUP(R1C,Veri!R1C1:R1C12,Veri!R2C1:R10000C12,""""),"""")=0,"""",XLOOKUP(RC7,Veri!R2C7:R10000C7,XLOOKUP(R1C,Veri!R1C1:R1C12,Veri!R2C1:R10000C12,""""),""""))"
Range("A" & Target.Row & ":L" & Target.Row).Value = Range("A" & Target.Row & ":L" & Target.Row).Value
End Sub
"=" yani "Eşittir" de silinecekti.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("G2:G" & Rows.Count)) Is Nothing Then GoTo 10
a = Target.Row
Set s1 = Sheets("Veri")
son = s1.Cells(Rows.Count, "G").End(3).Row
If Target = "" Then
Application.EnableEvents = False
Range("A" & a & ":L" & a).ClearContents
Application.EnableEvents = True
ElseIf WorksheetFunction.CountIf(s1.Range("G1:G" & son), Target) > 0 Then
Application.EnableEvents = False
sat = WorksheetFunction.Match(Target, s1.Range("G1:G" & son), 0)
s1.Range("A" & sat & ":L" & sat).Copy: Cells(a, "A").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Target.Select
Application.EnableEvents = True
Else
Application.EnableEvents = False
Range("A" & a & ":F" & a).ClearContents
Range("H" & a & ":L" & a).ClearContents
Application.EnableEvents = True
End If
10:
If Intersect(Target, Range("J2:J" & Rows.Count)) Is Nothing Then Exit Sub
a = Target.Row
Set s1 = Sheets("Veri")
son = s1.Cells(Rows.Count, "J").End(3).Row
If Target = "" Then
Application.EnableEvents = False
Range("A" & a & ":L" & a).ClearContents
Application.EnableEvents = True
ElseIf WorksheetFunction.CountIf(s1.Range("J1:J" & son), Target) > 0 Then
Application.EnableEvents = False
sat = WorksheetFunction.Match(Target, s1.Range("J1:J" & son), 0)
s1.Range("A" & sat & ":L" & sat).Copy: Cells(a, "A").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Target.Select
Application.EnableEvents = True
Else
Application.EnableEvents = False
Range("A" & a & ":I" & a).ClearContents
Range("K" & a & ":L" & a).ClearContents
Application.EnableEvents = True
End If
End Sub
Sub SayfaDegerKopya()
Worksheets("Liste").Copy After:=Worksheets("Liste")
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
End Sub
Aşağıdaki gibi deneyin. G ya da J sütununda değişiklik yaptıkça işlem gerçekleşir. Yalnız çok düşük bir ihtimal de olsa farklı ülke vatandaşı olup aynı kimlik ya da döküman numarası olan kişilerde listedeki ilk kişinin bilgilerini getirir:
PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("G2:G" & Rows.Count)) Is Nothing Then GoTo 10 a = Target.Row Set s1 = Sheets("Veri") son = s1.Cells(Rows.Count, "G").End(3).Row If Target = "" Then Application.EnableEvents = False Range("A" & a & ":L" & a).ClearContents Application.EnableEvents = True ElseIf WorksheetFunction.CountIf(s1.Range("G1:G" & son), Target) > 0 Then Application.EnableEvents = False sat = WorksheetFunction.Match(Target, s1.Range("G1:G" & son), 0) s1.Range("A" & sat & ":L" & sat).Copy: Cells(a, "A").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False Target.Select Application.EnableEvents = True Else Application.EnableEvents = False Range("A" & a & ":F" & a).ClearContents Range("H" & a & ":L" & a).ClearContents Application.EnableEvents = True End If 10: If Intersect(Target, Range("J2:J" & Rows.Count)) Is Nothing Then Exit Sub a = Target.Row Set s1 = Sheets("Veri") son = s1.Cells(Rows.Count, "J").End(3).Row If Target = "" Then Application.EnableEvents = False Range("A" & a & ":L" & a).ClearContents Application.EnableEvents = True ElseIf WorksheetFunction.CountIf(s1.Range("J1:J" & son), Target) > 0 Then Application.EnableEvents = False sat = WorksheetFunction.Match(Target, s1.Range("J1:J" & son), 0) s1.Range("A" & sat & ":L" & sat).Copy: Cells(a, "A").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False Target.Select Application.EnableEvents = True Else Application.EnableEvents = False Range("A" & a & ":I" & a).ClearContents Range("K" & a & ":L" & a).ClearContents Application.EnableEvents = True End If End Sub