Çözüldü Aynı sayfada "Private Sub Worksheet_Change(ByVal Target As Range)" makrosunu nasıl birleştiririm.

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
123
Excel Vers. ve Dili
M.OFFICE 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
XML:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [E17]) Is Nothing Then Exit Sub

Set s = Sayfa5

s.Name = Range("E17")

End Sub
XML:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, [K161:K655]) Is Nothing Then

Cells(Target.Column, "L") = Format(Now, "dd.mm.yyyy")

End Sub
Makrolar yukarıdaki gibi ben bunu;

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [E17]) Is Nothing Then Exit Sub

Set s = Sayfa5

s.Name = Range("E17")


If Not Intersect(Target, [K161:K655]) Is Nothing Then

Cells(Target.Column, "L") = Format(Now, "dd.mm.yyyy")



End Sub
Böyle yazınca olmuyor
 

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
123
Excel Vers. ve Dili
M.OFFICE 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
XML:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [E17]) Is Nothing Then Exit Sub

Set s = Sayfa5

s.Name = Range("E17")


If Not Intersect(Target, [K16:K612] Is Nothing Then Cells(Target.Column, "L") = Now

End Sub
yaptım bu sefer de sorun verdi...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If not Intersect(Target, [E17]) Is Nothing Then

Set s = Sayfa5

s.Name = Range("E17")

end if

If Not Intersect(Target, [K16:K612] Is Nothing Then Cells(Target.Column, "L") = Now

End Sub
 
Son düzenleme:

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
123
Excel Vers. ve Dili
M.OFFICE 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
End if without block if uyarsı verdi
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Merhaba alternatif örnek.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Count > 1 Then Exit Sub
    If Target.Address = "$E$17" Then
        Set s = Sayfa5
        s.Name = Range("E17")
    End If
    
    If Target.Column = 11 And (Target.Row >= 161 And Target.Row <= 655) Then
        Cells(Target.Row, "L") = Format(Now, "dd.mm.yyyy")
    End If
End Sub
 

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
123
Excel Vers. ve Dili
M.OFFICE 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
Private Sub Worksheet_Change(ByVal Target As Range)

Burda tanımlama Range olarak yazıyor. Acaba bunun Cell olarak kodda geçmesi mi sorun yaratıyor
 

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
123
Excel Vers. ve Dili
M.OFFICE 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
Merhaba alternatif örnek.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Count > 1 Then Exit Sub
    If Target.Address = "$E$17" Then
        Set s = Sayfa5
        s.Name = Range("E17")
    End If
   
    If Target.Column = 11 And (Target.Row >= 161 And Target.Row <= 655) Then
        Cells(Target.Row, "L") = Format(Now, "dd.mm.yyyy")
    End If
End Sub
Malesef bu da olmadı ben ilgili sutunları atıyorum.
245112 buradaki 2,8 i yazınca hemen sağına tarihi yazsın.Bu sarı kutucukların herhangibir için de aynı olacak
 

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
123
Excel Vers. ve Dili
M.OFFICE 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
Aşağıdaki gibi deneyin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If not Intersect(Target, [E17]) Is Nothing Then

Set s = Sayfa5

s.Name = Range("E17")

end if

If Not Intersect(Target, [K16:K612]) Is Nothing Then Cells(Target.Column, "L") = Now

End Sub
Çok özür diliyorum bu kod çalışıyor... If Not Intersect(Target, [K16:K612] Is ... kısmında parantezi unutmuşum :)
 
Üst