tarih atama

poetika

Altın Üye
Katılım
6 Kasım 2005
Mesajlar
127
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
30-09-2027
merhaba. bir hücreye herhangi bir tarih değeri girdiğimde, girilen tarihi o tarihte belirtilen ayın son gününe çevirebilir miyim? örneğin: 23.04.2007 girdiğimde bunu 30.04.2007 ye çevirsin. ya da 12.01.2006 girdiğimde bunu 31.01.2006 ya çevirsin. yardımlarınız için şimdiden teşekkürler.
 

poetika

Altın Üye
Katılım
6 Kasım 2005
Mesajlar
127
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
30-09-2027
hayır aynı soru değil malesef. verdiğiniz linkteki formül başka hücrede kullanılıyor. aynı hücrede kullanmak mümkün değil. benim anlatmaya çalıştığım şu: a1 hücresine 04.05.2007 tarihini girdikten sonra enter tuşuna bastığımda yine a1 hücresinde değeri değiştirip 31.05.2007 haline gitermek. yardımlarınız için şimdiden teşekkürler.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
İlgili sayfanın kod modülüne aşağıdaki kodu yazarsanız.
Private Sub Worksheet_Change(ByVal Target As Range)
If IsDate(Target) Then

Target.Value = DateSerial(Year(Target), Month(Target) + 1, 0)
End If
End Sub
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value = DateSerial(Year(Target), Month(Target) + 1, 0)
End Sub
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Ömer Beyin belirtiği gibi

If IsDate(Target) Then koşulunu denetlettirmek lazım.
 

poetika

Altın Üye
Katılım
6 Kasım 2005
Mesajlar
127
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
30-09-2027
tekrar merhaba. verdiğiniz kod sorunsuz çalışıyor. teşekkür ederim. fakat ben bu kodu çalışma sayfasının tümünde değil de sadece belli alanlarında kullanmak istiyorum. Kullanmak istediğim hücreler:
B2 den B16 ya
D2 den D16 ya
F2 den F16 ya
H2 den H16 ya
J2 den J16 ya kadar.
bununla ilgili de yardımcı olabilirseniz çok memnun olurum. şimdiden çok teşekkürler.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
tekrar merhaba. verdiğiniz kod sorunsuz çalışıyor. teşekkür ederim. fakat ben bu kodu çalışma sayfasının tümünde değil de sadece belli alanlarında kullanmak istiyorum. Kullanmak istediğim hücreler:
B2 den B16 ya
D2 den D16 ya
F2 den F16 ya
H2 den H16 ya
J2 den J16 ya kadar.
bununla ilgili de yardımcı olabilirseniz çok memnun olurum. şimdiden çok teşekkürler.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B2:B16,D2:D16,F2:F16,H2:H16,J2:J16]) Is Nothing Then Exit Sub
If IsDate(Target) Then
Target.Value = DateSerial(Year(Target), Month(Target) + 1, 0)
End If
End Sub
 
Üst