Tarih çıkarma ve koşullu biçimlendirme

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Herkese günaydın arkadaşlar.

Ekte gönderdiğim excel sayfasında tarih çıkarma formülü ve koşullu biçimlendirme uygulama çalıştım, ancak bu kadar yapabildim.

Sayfada gerekli açıklamayı yaptım.

Yardım edecek arkadaşlara şimdiden çok teşekkür ederim.
 

Ekli dosyalar

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Merhaba.Ön bilgi açısından aşağıdaki kodu deneyebilirsiniz.
Kod:
Sub yaz()
Set s1 = Sheets("Sayfa1")
Application.DisplayAlerts = False
son = s1.Range("K2").End(xlDown).Row
For i = 2 To son
If Cells(i, "K") <> "" Then
If s1.Cells(i, "K") < Date Then s1.Cells(i, "M") = Date - s1.Cells(i, "K") & "  Gün Geçti"
If s1.Cells(i, "K") > Date Then s1.Cells(i, "M") = s1.Cells(i, "K") - Date & "  Gün Kaldı"
If s1.Cells(i, "K") = Date Then s1.Cells(i, "M") = s1.Cells(i, "K") - Date & "  Evrakı Bugün Yap"
End If
Next i
End Sub
 
Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın vardar07 ilginiz ve emeğiniz için çok teşekkür ediyorum.

Yazdığınız kodu uyguladığımda aşağıdaki gibi çıkıyor, 1 ayı geçtiğinde örnek olarak 1 ay 8 gün geçti olmasını istiyorum, ancak 38 gün geçti oluyor. Kırmızı ile olanlarda hata olarak görüyorum.

Sayfayı her gün açtığımda formül otomatik olarak çalıştığı için zahmet olmazsa formülle yapabilir misiniz? Teşekkürler.

2 Gün Kaldı
32 Gün Kaldı
396 Gün Kaldı
409 Gün Kaldı
0 Evrakı Bugün Yap

1 Gün Kaldı
0 Evrakı Bugün Yap
8 Gün Geçti
38 Gün Geçti
403 Gün Geçti
 

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Modül içine:
Kod:
Sub yaz()
Dim s1 As Worksheet
Set s1 = Sheets("Sayfa1")
Application.DisplayAlerts = False
son = s1.Range("K2").End(xlDown).Row
For i = 2 To son
If Cells(i, "K") <> "" Then
If s1.Cells(i, "K") < Date Then s1.Cells(i, "M") = Year(Date) - Year(s1.Cells(i, "K")) & " Yıl " & _
 Month(Date) - Month(s1.Cells(i, "K")) & " Ay " & Day(Date) - Day(s1.Cells(i, "K")) & " Gün Geçti"
If s1.Cells(i, "K") > Date Then s1.Cells(i, "M") = Year(s1.Cells(i, "K")) - Year(Date) & " Yıl " & _
Month(s1.Cells(i, "K")) - Month(Date) & " Ay " & Day(s1.Cells(i, "K")) - Day(Date) & " Gün Kaldı"
If s1.Cells(i, "K") = Date Then s1.Cells(i, "M") = " Evrakı Bugün Yap"
End If
Next i
End Sub
ThisWorkbook Kod kısmına:
Kod:
Private Sub Workbook_Open()
Call yaz
End Sub
Sayfa1 in kod kısmına:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("K2:K65536")) Is Nothing Then Exit Sub 'KOLONDA DEĞİŞİM
Call yaz
End Sub
Kodları gerekli yerlere ekleyin. sayfada "K" sütununda tarih girince ve excel her açılışta otomatik çalışır.
 
Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın vardar07 sizi yoruyorum kusura kalmayın, yazmış olduğunuz bütün kodları dediğiniz gibi yaptım.

20.04.2015 0 Yıl 0 Ay 2 Gün Kaldı
10.04.2015 0 Yıl 0 Ay 8 Gün Geçti
11.05.2015 0 Yıl 1 Ay -7 Gün Kaldı bu şekilde sonuçlar aldım.

Benim istediğim aşağıdaki gibi istemiştim, sanırım olmayacak galiba,
Ayrıca koşullu biçimlendirmeyide satırlara uygulamak istiyorum, sadece hücrede kalıyor.

2 gün kaldı
8 gün geçti
1 ay 7 gün kaldı
 

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Sizin istediğiniz olmaz değil olur ancak kodları inceleyip şartları çoğaltmak lazım Özür dileyerek o kadar uğraşacak zamanım yok. Belki bir arkadaş yardımcı olabilir. Kolay gelsin.
 
Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Yine de ilginize ve emeğine çok teşekkür ediyorum, hayırlı çalışmalar.
 

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Aşağıdaki kodları eskisi ile değiştirin. Olacağı bu kadar.
Kod:
Sub yaz()
Dim s1 As Worksheet
Set s1 = Sheets("Sayfa1")
Application.DisplayAlerts = False
son = s1.Range("K2").End(xlDown).Row
For i = 2 To son
If Cells(i, "K") <> "" Then
If Year(s1.Cells(i, "K")) < Year(Date) Then
s1.Cells(i, "M") = Year(Date) - Year(s1.Cells(i, "K")) & " Yıl " & _
Month(Date) - Month(s1.Cells(i, "K")) & " Ay " & Day(Date) - Day(s1.Cells(i, "K")) & " Gün Geçti"
ElseIf Month(s1.Cells(i, "K")) < Month(Date) Then
s1.Cells(i, "M") = Month(Date) - Month(s1.Cells(i, "K")) & " Ay " & Day(Date) - Day(s1.Cells(i, "K")) & " Gün Geçti"
ElseIf Day(s1.Cells(i, "K")) < Day(Date) Then
s1.Cells(i, "M") = Day(Date) - Day(s1.Cells(i, "K")) & " Gün Geçti"
End If
If Year(s1.Cells(i, "K")) > Year(Date) Then
s1.Cells(i, "M") = Year(s1.Cells(i, "K")) - Year(Date) & " Yıl " & _
Month(s1.Cells(i, "K")) - Month(Date) & " Ay " & Day(s1.Cells(i, "K")) - Day(Date) & " Gün Kaldı"
ElseIf Month(s1.Cells(i, "K")) > Month(Date) And Day(s1.Cells(i, "K")) <= Day(Date) Then
s1.Cells(i, "M") = Month(s1.Cells(i, "K")) - Month(Date) & " Ay " & Day(Date) - Day(s1.Cells(i, "K")) & " Gün Kaldı"
ElseIf Month(s1.Cells(i, "K")) > Month(Date) Then
s1.Cells(i, "M") = Month(s1.Cells(i, "K")) - Month(Date) & " Ay " & Day(s1.Cells(i, "K")) - Day(Date) & " Gün Kaldı"
ElseIf Day(s1.Cells(i, "K")) > Day(Date) Then
s1.Cells(i, "M") = Day(s1.Cells(i, "K")) - Day(Date) & " Gün Kaldı"
End If
If s1.Cells(i, "K") = Date Then s1.Cells(i, "M") = " Evrakı Bugün Yap"
End If
Next i
End Sub
 
Son düzenleme:
Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın vardar07 bu kod tam istediğim gibi,
ancak 11.05.2015 böyle bir tarih yazdığımda 1 Ay -7 Gün Kaldı sonuç neden -7 çıkıyor.
Ayrıca koşullu biçimlendirmeye yardımcı olur musunuz?
 
Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Arkadaşlar aşağıdaki formül ile sorun çözüldü.

Kod:
=EĞER(BUGÜN()<K2;EĞER(VE(ETARİHLİ(BUGÜN();K2;"y")=0;ETARİHLİ(BUGÜN();K2;"ym")=0;ETARİHLİ(BUGÜN();K2;"md")=0);"Evrakı Bugün Yap";EĞER(ETARİHLİ(BUGÜN();K2;"y")=0;"";ETARİHLİ(BUGÜN();K2;"y")&" Yıl ")&EĞER(ETARİHLİ(BUGÜN();K2;"ym")=0;"";ETARİHLİ(BUGÜN();K2;"ym")&" Ay ")&EĞER(ETARİHLİ(BUGÜN();K2;"md")=0;"Kaldı";ETARİHLİ(BUGÜN();K2;"md")&" Gün kaldı"));EĞER(VE(ETARİHLİ(K2;BUGÜN();"y")=0;ETARİHLİ(K2;BUGÜN();"ym")=0;ETARİHLİ(K2;BUGÜN();"md")=0);"Evrakı Bugün Yap";EĞER(ETARİHLİ(K2;BUGÜN();"y")=0;"";ETARİHLİ(K2;BUGÜN();"y")&" Yıl ")&EĞER(ETARİHLİ(K2;BUGÜN();"ym")=0;"";ETARİHLİ(K2;BUGÜN();"ym")&" Ay ")&EĞER(ETARİHLİ(K2;BUGÜN();"md")=0;"Geçti";ETARİHLİ(K2;BUGÜN();"md")&" Gün Geçti")))
 

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
8 Nolu mesaj güncellendi.
 
Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın vardar07 ilginize ve emeğinize çok teşekkür ederim, yazmış olduğunuz güncellediğiniz kodu uyguladım çok işime yarayacak hayırlı çalışmalar.
 
Üst