VBA'da Bir Ayın Son Gününü Nasıl Buluruz?

Katılım
5 Nisan 2005
Mesajlar
185
VBA'da herhangi bir ayın son gününü (28,29,30 veya 31) nasıl bulabiliriz arkadaşlar?

Ayın son günü makronun içindeki bu bölümün çalışmasını istiyorum.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
'değişkeni bir tarih değeri olacaksa;
Function songun(tarih As Date) As Integer
ilk = Day(tarih)
AY = Month(tarih)
For i = 0 To 31
If Month(tarih + i) = AY Then songun = Day(tarih + i)
Next
End Function
'kodlar İsmail Duman arakadaşın
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
örneğin tarih bilgisinin A1 hücresinden alındığını kabul edelim. Bu durumda aşağıdaki gibi bir alternatifte önerilebilir.

songun = Day(DateSerial(Year([a1]), Month([a1]) + 1, 0))
MsgBox songun
 
Katılım
5 Nisan 2005
Mesajlar
185
Yok bu şekilde değil. Ben tarihi sistem saat-takviminden alacağım. Yani bilgisayarın tarih bilgisini alıp, eğer ayın son günü ise çalıştığım excel sayfasının yedeğinin alınmasını sağlayacağım.

Ben bunu ayın birinde yapıyordum. Ama başka sorunlar çıkıyor. Mesela yeni ayın birinci gününün değerleri, eski ayın ilk gününün değerlerinin yerine geçiyor. Bunu engelllemek için düşünmüştüm.

Kullandığım kod şöyle birşey:

Dim Yanit, tarihn
Dim hucre As Range
tarihn = DateAdd("d", 0, Date)

If Day(tarihn) = "1" Then
' ..... Kodlar .......

Bunu ay sonuna uyarlamak istiyorum.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
[vb:1:6b4fa4e056]songun = Day(DateSerial(Year(Date), Month(Date) + 1, 0))
If songun = Day(Date) Then
' ..... Kodlar .......

End If[/vb:1:6b4fa4e056]
 
Üst