Tarihleri makro ile yazdırmak...

Katılım
24 Şubat 2009
Mesajlar
735
Beğeniler
4
Excel Vers. ve Dili
2003
#1
Merhaba arkadaşlar herkese kolay gelsin; Bir isteğim var zahmet olmaz ise cevabınızı bekliyorum;
G ve K sütunlarında tarihler var; Eğer G sütununda veri yoksa (tarih) buraya K sütunundaki tarihin 40 gün öncesini yazsın, (Örnek; =K sütunu - 40 ), yine K sütununda veri yoksa (tarih) bu sefer K sütununa (Örnek; =G sütunu + 40) şeklinde makro yazmasını istiyorum. Örneği ekli dosyamda mevcut teşekkürler.
 

Ekli dosyalar

Katılım
24 Şubat 2009
Mesajlar
735
Beğeniler
4
Excel Vers. ve Dili
2003
#3
Sayın abim güzel eline sağlık ama, diğer satırlardaki tarihlerde işlem yapamıyorum, yani kodu ben çalıştırmak istiyorum, eksik olanı doldur şeklinde sadece boş olanı doldursun silmeme müsade etmiyor.
 

dalgalikur

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
2,351
Beğeniler
320
Excel Vers. ve Dili
2013
#4
Merhaba.
Aşağıdaki kodlarla yapabilirsiniz.

Kodlar A sütununda bulunan "S.No" adeti kadar kontrol yapar.
Örnekteki dosyanızda boş bırakmışsınız normalde "S.No" dolu olacağını varsaydım.

Kod:
Sub Test()
    Dim Say As Long
    Dim Bak As Range
    Say = Cells(Rows.Count, "A").End(3).Row
    For Each Bak In Range("A2:A" & Say)
        If Cells(Bak.Row, "G").Value = Empty Then
            Cells(Bak.Row, "G").Value = DateAdd("d", -40, Cells(Bak.Row, "K").Value)
        ElseIf Cells(Bak.Row, "K").Value = Empty Then
            Cells(Bak.Row, "K").Value = DateAdd("d", -40, Cells(Bak.Row, "G").Value)
        End If
    Next
End Sub
Dosyanız ekte.
 

Ekli dosyalar

Son düzenleme:

kulomer46

Altın Üye
Altın Üye
Katılım
23 Mart 2007
Mesajlar
699
Beğeniler
85
Excel Vers. ve Dili
excel 2013 türkçe
#8
#3 numaralı mesajınızdaki taleplerinizi karşılayan dosya #2 numaralı mesaja eklenmiştir.

Selamlar...
 
Katılım
24 Şubat 2009
Mesajlar
735
Beğeniler
4
Excel Vers. ve Dili
2003
#11
Merhaba arkadaşlar herkese günaydın Sayın Dalgalıkur'un yazmış olduğu koda ek yaptım ama çalıştıramadım Yardımcı olursanız sevinirim. Tesekkurler.
 

Ekli dosyalar

tarzanhaci

Altın Üye
Katılım
24 Şubat 2009
Mesajlar
735
Beğeniler
4
Excel Vers. ve Dili
2003
#12
Merhaba arkadaşlar; Herkese hayırlı günler diliyorum.
Ekli dosyamda K sütunundaki tarihleri doldurmak için aşağıdaki kodu sizlerin yazmış olduğu kottan uyarladım. K sütunu boş ise J sütunundaki tarihe 1 ekleyerek K sütunundaki tarihleri dolduruyor.
Sub BAŞLAMA_TARİHİ_DOLDUR()
Dim Say As Long
Dim Bak As Range
Say = Cells(Rows.Count, "A").End(3).Row
For Each Bak In Range("A2:A" & Say)
If Cells(Bak.Row, "K").Value = Empty Then
Cells(Bak.Row, "K").Value = Cells(Bak.Row, "J").Value + 1
End If
Next
End Sub
Ancak;
Ekli dosyada sistemden almış olduğum, tarihleri bir türlü doldurmuyor, boş olan yerleri K3,K5,K6,K7,K9,K11.... elimle Delete ile silince dolduruyor, bunu yapmadan kodda nasıl bir değişiklik yapılmalı ki hepsini kodla doldurayım. Teşekkürler.
 

Ekli dosyalar

Ömer BARAN

Uzman
Uzman
Katılım
8 Mart 2011
Mesajlar
13,044
Beğeniler
748
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
#13
Merhaba.
For satırından sonraki If.... satırını aşağıdaki gibi değiştirerek kullanabilirsiniz.
Rich (BB code):
        If Cells(Bak.Row, "K").Value = Empty Or Cells(Bak.Row, "K").Value = Chr(160) Then
 

tarzanhaci

Altın Üye
Katılım
24 Şubat 2009
Mesajlar
735
Beğeniler
4
Excel Vers. ve Dili
2003
#14
Teşekkür ederim, Cumaya gidiyorum, gelince deneyeceğim, eline sağlık abi dua ile kal hayırlı cumalar.
 

tarzanhaci

Altın Üye
Katılım
24 Şubat 2009
Mesajlar
735
Beğeniler
4
Excel Vers. ve Dili
2003
#15
Sayın Ömer bey eline sağlık oldu, abi birde K sütunu boş olup, J sütununda tarih varsa (veri) K sütununa yazması için nasıl yapmak gerekir.
Örneğin J de veri yoksa 01.01.1900 yazıyor, Yani koşul K boş olup, J de veri varsa işlem yapacak teşekkürler.
 

Ömer BARAN

Uzman
Uzman
Katılım
8 Mart 2011
Mesajlar
13,044
Beğeniler
748
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
#16
Önceki cevabımda değişiklik önerdiğim satırı bu kez aşağıdaki şekilde değiştirin.
Rich (BB code):
        If IsDate(Cells(Bak.Row, "J")) And (Cells(Bak.Row, "K").Value = Empty Or Cells(Bak.Row, "K").Value = Chr(160)) Then
 

tarzanhaci

Altın Üye
Katılım
24 Şubat 2009
Mesajlar
735
Beğeniler
4
Excel Vers. ve Dili
2003
#17
Çok teşekkür ederim Ömer Bey elinize sağlık sağlıcakla kalın.
 

Ömer BARAN

Uzman
Uzman
Katılım
8 Mart 2011
Mesajlar
13,044
Beğeniler
748
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
#18
Kolay gelsin.
 
Üst