• DİKKAT

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

sayfa 1 de yazı yazdığımda sayfa 2 ye tarih attirma

Katılım
24 Mart 2017
Mesajlar
148
Excel Vers. ve Dili
ofis 2013
iyi geceler arkadaşlar.
sayfa 1 de ahmet hücresinin yanindaki hücreye yazı yazdığımda
sayfa 2 deki ahmeti bulup yanindaki hücreye tarih atmasini istiyorum bunu nasıl yapabilirz. teşekkürler.
 
Merhaba,

"Ahmet Hücresi" ne demek? Ahmet'in hücresi mi var?

örnek dosyanızı dosya.tc gibi paylaşım sitesine yüklerseniz sorunuz daha iyi anlaşılır.
 
pardon uyku sersemi yanlış aktarmişim Ahmet yazan hücre demek istemişyim :)
 
Sayfa1 kod olarak kopyalayınız.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 Set s1 = Sheets("Sayfa1")
 Set s2 = Sheets("sayfa2")
 son2 = s2.Cells(65536, "A").End(3).Row
On Error Resume Next
If Intersect(Target, Range("b2:b1000")) Is Nothing Then Exit Sub
t = WorksheetFunction.CountIf(s2.Range("A2:A" & son2), Target.Offset(0, -1))
If t > 0 Then
s = WorksheetFunction.Match(Target.Offset(0, -1), s2.Range("a2:a" & son2), 0)
If Target = "" Then
s2.Range("b" & s + 1) = ""
Else
s2.Range("b" & s + 1) = Format(Now, "dd.mm.yyyy")
End If
End If
End Sub
 
Son düzenleme:
Merhaba,

Alternatif olsun, yine aşağıdaki kodları Sayfa1'in kod bölümüne kopyalayınız.
Sayfa1'in B sütununda silme yaptığınızda işlem yapmaz, yapmasını isterseniz kodda gereken yeri silin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, [B:B]) Is Nothing Or Target.Row < 2 Or Target.Value = "" Then Exit Sub
    
    Dim s2  As Worksheet, _
        c   As Range
    Set s2 = Sheets("Sayfa2")
    
    Set c = s2.Range("A:A").Find(Target.Offset(0, -1), LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then
        s2.Cells(c.Row, "B") = Date
    End If
    
End Sub
 
Sayfa3 kodu olarak kopyalayınız.Sayfa3 D2 Hücresinde işlem yaptığınızda kod çalışır.
Diğer koda gerek yok.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 Set s1 = Sheets("Sayfa1")
 Set s2 = Sheets("sayfa2")
  son1 = s1.Cells(65536, "A").End(3).Row
  son2 = s2.Cells(65536, "A").End(3).Row
If Intersect(Target, [D2]) Is Nothing Then Exit Sub
t = WorksheetFunction.CountIf(s1.Range("A2:A" & son1), Target.Offset(0, -1))
If t > 0 Then
s = WorksheetFunction.Match(Target.Offset(0, -1), s1.Range("a2:a" & son1), 0)
Z = WorksheetFunction.Match(Target.Offset(0, -1), s2.Range("a2:a" & son2), 0)
s1.Range("b" & s + 1) = Target.value
s2.Range("b" & Z + 1) = Format(Now, "dd.mm.yyyy")
End If
If Target.value = "" Then
  s1.Range("b" & s + 1) = ""
  s2.Range("b" & Z + 1) = ""
 End If
End Sub
 
Son düzenleme:
teşekkür ederim.
D2 deki yaziyi sildiğimde sayfa1 deki veride siliniyor.

"s1.Range("b" & s + 1) = Target.Offset(0, 0)" bu kısımdan mı kaynaklanıyor acaba ?
 
Bu kodu deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 Set s1 = Sheets("Sayfa1")
 Set s2 = Sheets("sayfa2")
 son1 = s1.Cells(65536, "A").End(3).Row
 son2 = s2.Cells(65536, "A").End(3).Row
If Intersect(Target, [D2]) Is Nothing Then Exit Sub
If Target.Value = "" Then
Exit Sub
End If
t = WorksheetFunction.CountIf(s1.Range("A2:A" & son1), Target.Offset(0, -1))
If t > 0 Then
s = WorksheetFunction.Match(Target.Offset(0, -1), s1.Range("a2:a" & son1), 0)
Z = WorksheetFunction.Match(Target.Offset(0, -1), s2.Range("a2:a" & son2), 0)
s1.Range("b" & s + 1) = Target.value
s2.Range("b" & Z + 1) = Format(Now, "dd.mm.yyyy")
End If
End Sub
 
Son düzenleme:
Rica ederim.Dönüş yaptığınız için teşekkür ederim.
 
Geri
Üst