Tarih

Katılım
13 Eylül 2024
Mesajlar
5
Excel Vers. ve Dili
excel 2016 Türkçe
Merhaba arkadaşlar bir hücreye günün tarihini girdiğim zaman yan hücreye yarının tarihi otomatik gelsin istiyorum örnek verecek olursam a hücresine bugünün tarihini girdiğimde b hücresine yarının tarihi girsin istiyorum a hücresini aşağıya çektikçe a hücresindeki tarih sıralı bir şekilde inerken aynı zamanda b hücreside o günün tarihine göre bir gün önde gitsin umarım anlatabilmişimdir şimdiden çok teşekkür ediyorum
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,501
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
  1. Excel dosyanızı açın.
  2. Alt + F11 tuşlarına basarak VBA editörünü açın.
  3. Insert > Module seçeneğine tıklayarak yeni bir modül ekleyin.
  4. Aşağıdaki kodu yapıştırın:


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
If IsDate(Target.Value) Then
Target.Offset(0, 1).Value = Target.Value + 1
End If
End If
Thisworkbook.save
End Sub

Bu VBA kodu şunu yapar:
  • A sütununa bir tarih girdiğinizde, B sütununa otomatik olarak bir sonraki günün tarihi yazılır.
  • Bu işlemi her dosya açıldığında değil, sadece tarih girildiğinde yapar.
Makro kullandığınızda, tarihler sadece bir kez girildiğinde değişir ve her açılışta otomaitik olarak yenilenmez ve dosya sabit kalır.

Sonuç:
  • Eğer tarihin her gün değişmesini istemiyorsanız, A hücresine manuel tarih girmeniz en basit çözümdür.
  • Eğer her açılışta tarihin değişmesini istemiyorsanız ve bunu bir otomasyonla yapmayı düşünüyorsanız, VBA kullanarak işlemi sabitleyebilirsiniz.

    Oneml, : dosyayı xlsx degil .xlsm olarak yani makro calıstırır formatta kaydetmeniz gereklidir.
 
Katılım
13 Eylül 2024
Mesajlar
5
Excel Vers. ve Dili
excel 2016 Türkçe
  1. Excel dosyanızı açın.
  2. Alt + F11 tuşlarına basarak VBA editörünü açın.
  3. Insert > Module seçeneğine tıklayarak yeni bir modül ekleyin.
  4. Aşağıdaki kodu yapıştırın:


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
If IsDate(Target.Value) Then
Target.Offset(0, 1).Value = Target.Value + 1
End If
End If
Thisworkbook.save
End Sub

Bu VBA kodu şunu yapar:
  • A sütununa bir tarih girdiğinizde, B sütununa otomatik olarak bir sonraki günün tarihi yazılır.
  • Bu işlemi her dosya açıldığında değil, sadece tarih girildiğinde yapar.
Makro kullandığınızda, tarihler sadece bir kez girildiğinde değişir ve her açılışta otomaitik olarak yenilenmez ve dosya sabit kalır.

Sonuç:
  • Eğer tarihin her gün değişmesini istemiyorsanız, A hücresine manuel tarih girmeniz en basit çözümdür.
  • Eğer her açılışta tarihin değişmesini istemiyorsanız ve bunu bir otomasyonla yapmayı düşünüyorsanız, VBA kullanarak işlemi sabitleyebilirsiniz.

    Oneml, : dosyayı xlsx degil .xlsm olarak yani makro calıstırır formatta kaydetmeniz gereklidir.
Çok teşekkür ediyorum deneyip size sonucu bildireceğim.
 
Üst