Bugünün Tarihi

Katılım
19 Eylül 2023
Mesajlar
17
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 bit
Altın Üyelik Bitiş Tarihi
19-09-2024
Merhaba,
Excel dosyamda C ve N sütunlarındaki ad/firma kısmına herhangi bir değer girdiğimde B ve M sütunundaki tarih kısmına ogün tarihi otomatik olarak gelsin istiyorum.
Bu konuda yardımcı olabilir misiniz?
 

Ekli dosyalar

relaxim

Altın Üye
Katılım
30 Ağustos 2009
Mesajlar
526
Excel Vers. ve Dili
Ofis 2016 Tr 64 bit
Altın Üyelik Bitiş Tarihi
15.06.2027
Merhaba

=EĞER(C6>0;ŞİMDİ();"") ancak bu şekilde yarın tarih değiştiğinde bu tarihte değişir.
 
Katılım
19 Eylül 2023
Mesajlar
17
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 bit
Altın Üyelik Bitiş Tarihi
19-09-2024
Buna benzer birşey yaptım, ertesi gün eski tarihleri de bugün tarihine çeviriyor. Eski tarihler sabit kalması lazım.
Sizin formülünüz eski tarihler sabit kalacak şekilde midir. Teşekkürler
 

Korhan Ayhan

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

Bu işlem için makro kullanmanız gerekir.

Aşağıdaki kodu işlemi yapmak istediğiniz sayfanın kod bölümüne uygulayıp deneyiniz. İlgili alanlara veri girdiğinizde Tarih ve saat olarak sonuç verecektir. İlgili alandaki veriler silindiğinde tarihlerde silinecektir.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
    
    If Intersect(Target, Range("C6:C36,N6:N36")) Is Nothing Then Exit Sub
    
    For Each Rng In Intersect(Target, Range("C6:C36,N6:N36"))
        If Rng.Value <> "" Then
            Rng.Offset(, -1) = Now
            Rng.Offset(, -1).NumberFormat = "d/mm/yyyy hh:mm:ss"
            Rng.Offset(, -1).EntireColumn.AutoFit
        Else
            Rng.Offset(, -1) = ""
        End If
    Next
End Sub
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
559
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Kod:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim ws As Worksheet
    Dim Cell As Range
  
    If Sh.Name = "1" Or Sh.Name = "2" Or Sh.Name = "3" Then
        
        If Not Intersect(Target, Sh.Columns("C")) Is Nothing Or Not Intersect(Target, Sh.Columns("N")) Is Nothing Then
            Application.EnableEvents = False
            
            For Each Cell In Target
                If Not IsEmpty(Cell.Value) Then
                    If Cell.Column = 3 Then
                        Sh.Cells(Cell.Row, 2).Value = Date
                    ElseIf Cell.Column = 14 Then
                        Sh.Cells(Cell.Row, 13).Value = Date
                    End If
                End If
            Next Cell
            
            Application.EnableEvents = True
        End If
    End If
End Sub
Bu makro, çalışma kitabındaki 1, 2 ve 3 adındaki sayfalarda C ve N sütunlarına bir değer girildiğinde ilgili B ve M sütunlarına o günün tarihini otomatik olarak yerleştirecektir. Tarih bir kez girildikten sonra değişmeyecektir.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,166
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Alternatif
VBA kısmını açın "BuÇalışmaKitrabı" adlı kod sayfasına aşağıdaki kodu kopyalayın.

Kod:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim Sayfalar() As Variant
    Dim Sayfa As Variant
    
    If Target.Text <> "" Then
        Application.EnableEvents = False
        Sayfalar = Array("1", "2", "3")
        For Each Sayfa In Sayfalar
            If Sh.Name = Sayfa Then
                If Not Intersect(Range("C:C"), Target) Is Nothing Then
                    Cells(Target.Row, "B") = Date
                ElseIf Not Intersect(Range("N:N"), Target) Is Nothing Then
                    Cells(Target.Row, "M") = Date
                End If
                Exit For
            End If
        Next
        Application.EnableEvents = True
    End If
End Sub
Dosyanızda otomatik tarih dahil edilecek sayfaların adını Sayfalar = Array("1", "2", "3") bu satırda olduğu gibi ekleyebilirsiniz. Buraya adını eklemediğiniz sayfalarda kod çalışmaz.
 
Katılım
19 Eylül 2023
Mesajlar
17
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 bit
Altın Üyelik Bitiş Tarihi
19-09-2024
Merhaba,

Bu işlem için makro kullanmanız gerekir.

Aşağıdaki kodu işlemi yapmak istediğiniz sayfanın kod bölümüne uygulayıp deneyiniz. İlgili alanlara veri girdiğinizde Tarih ve saat olarak sonuç verecektir. İlgili alandaki veriler silindiğinde tarihlerde silinecektir.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
   
    If Intersect(Target, Range("C6:C36,N6:N36")) Is Nothing Then Exit Sub
   
    For Each Rng In Intersect(Target, Range("C6:C36,N6:N36"))
        If Rng.Value <> "" Then
            Rng.Offset(, -1) = Now
            Rng.Offset(, -1).NumberFormat = "d/mm/yyyy hh:mm:ss"
            Rng.Offset(, -1).EntireColumn.AutoFit
        Else
            Rng.Offset(, -1) = ""
        End If
    Next
End Sub
Teşekkürler
 
Üst