excel aynı kod farklı hücrede çalışmıyor

Katılım
8 Ocak 2016
Mesajlar
98
Excel Vers. ve Dili
Microsoft Office 2021 Professional Plus
Altın Üyelik Bitiş Tarihi
24-04-2021
Merhaba arkadaşlar kod örn a1 hücresine herhangi bir veri girdiğimizde b1 hücresine o anki tarih ve saati atıyor ama bunu örn d1 hücresine de veri girildiğinde e1 atsın istiyorum olmuyor.
2. bir attığı tarihin yanındaki veriyi değiştirince tarih saat kendini yeniliyor yenilemesi mantıklı ama durumu yazan kısma veri girdiğimde ise buda sabit kalabilirmi şimdiden teşekkürler
 

Ekli dosyalar

Katılım
8 Ocak 2016
Mesajlar
98
Excel Vers. ve Dili
Microsoft Office 2021 Professional Plus
Altın Üyelik Bitiş Tarihi
24-04-2021
varmı bir yardımcı olacak
 
Katılım
18 Ocak 2019
Mesajlar
234
Excel Vers. ve Dili
Office 2013
Merhaba @GhostCu

Örnek belgenizi dış serverler'den birine yükleyip link paylaşabilir misiniz.
Teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,765
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sayfadaki tüm kodu silip aşağıdaki kodu uygulayınız.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim Alan As Range, Veri As Range
    If Intersect(Target, Union(Range("C3:C1000"), Range("I3:I1000"))) Is Nothing Then Exit Sub
    If Target.Cells.Count = 1 Then
        Set Alan = Target
    Else
        Set Alan = Selection
    End If
        
    For Each Veri In Intersect(Alan, Union(Range("C3:C1000"), Range("I3:I1000")))
        Select Case Veri.Column
            Case 3
                Veri.Offset(0, 2) = Now
            Case 9
                If Veri.Offset(0, -1) = "" Then Veri.Offset(0, -1) = Now
        End Select
    Next
End Sub
 
Katılım
8 Ocak 2016
Mesajlar
98
Excel Vers. ve Dili
Microsoft Office 2021 Professional Plus
Altın Üyelik Bitiş Tarihi
24-04-2021
korhan bey çok teşekkür ederim
Sayfadaki tüm kodu silip aşağıdaki kodu uygulayınız.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim Alan As Range, Veri As Range
    If Intersect(Target, Union(Range("C3:C1000"), Range("I3:I1000"))) Is Nothing Then Exit Sub
    If Target.Cells.Count = 1 Then
        Set Alan = Target
    Else
        Set Alan = Selection
    End If
      
    For Each Veri In Intersect(Alan, Union(Range("C3:C1000"), Range("I3:I1000")))
        Select Case Veri.Column
            Case 3
                Veri.Offset(0, 2) = Now
            Case 9
                If Veri.Offset(0, -1) = "" Then Veri.Offset(0, -1) = Now
        End Select
    Next
End Sub
Teşekkürler korhan bey çalıştı peki şunu yapma şansımız varmı veri girdiğimizde o tarih ve saat kalsın veri girilecek hücreye silip tekrar veri girdğimde günceli atıyor bir defa veri girildiğinde verilen o tarih ve saat kalabilir mi?
günceli atması için tarihi ve saat olan hücreyi silmek gereksin
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,765
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İnceleyiniz.

Sayfa koruması 12345

Tarih ve zamanı yazan sütunlarda işlem yapmak istediğinizde E2 ya da H2 hücresine çift tıklayınız. Sonra bu alanlarda düzenleme yapabilirsiniz.
 

Ekli dosyalar

Katılım
8 Ocak 2016
Mesajlar
98
Excel Vers. ve Dili
Microsoft Office 2021 Professional Plus
Altın Üyelik Bitiş Tarihi
24-04-2021
İnceleyiniz.

Sayfa koruması 12345

Tarih ve zamanı yazan sütunlarda işlem yapmak istediğinizde E2 ya da H2 hücresine çift tıklayınız. Sonra bu alanlarda düzenleme yapabilirsiniz.
Korhan bey korumayla uğraşmamak için bende şöyle bir düzeltme yaptım ve oldu
C++:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("E2", "H2")) Is Nothing Then Exit Sub
    Cancel = True
    ActiveSheet.Unprotect "12345"
End Sub

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim Alan As Range, Veri As Range
    If Intersect(Target, Union(Range("C3:C1000"), Range("I3:I1000"))) Is Nothing Then Exit Sub
    ActiveSheet.Unprotect "12345"
    If Target.Cells.Count = 1 Then
        Set Alan = Target
    Else
        Set Alan = Selection
    End If
        
    For Each Veri In Intersect(Alan, Union(Range("C3:C1000"), Range("I3:I1000")))
        If Veri.Value <> "" Then
            Select Case Veri.Column
                Case 3
                    If Veri.Offset(0, 2) = "" Then Veri.Offset(0, 2) = Now
                Case 9
                    If Veri.Offset(0, -1) = "" Then Veri.Offset(0, -1) = Now
            End Select
        End If
    Next
    
    ActiveSheet.Unprotect "12345"
End Sub
ActiveSheet.Unprotect "12345" değilde ActiveSheet.Unprotect "12345" bunu yazdım hem üsttekini yani böyle daha işimi görür.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,765
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Tabi ki tercih sizin...
 
Üst