Ay İçerisindeki Gün Sayısını Bulma

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
294
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Arkadaşlar sabahtan beri forumda arama yapıyorum ama bir türlü istediğim kodu bulamadım. Bu konuda bana yardımcı olacak arkadaşlara şimdiden çok teşekkür ederim.
Bana, örneğin Şubat ayının kaç gün olduğunu gösterecek makro kodu lazım.

Örnek:
Şubat 28 gün çekiyor
Mart 30 gün çekiyor
Nisan 30 gün çekiyor

vs.vs.
 

asimavi50

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2010
Mesajlar
200
Excel Vers. ve Dili
2010 Türkçe
Tarihi A1'de baz alırsak formülü girebilirsiniz.

=GÜN(TARİH(YIL(A1);AY(A1)+1;0))
 

Mahir64

Destek Ekibi
Destek Ekibi
Katılım
19 Nisan 2006
Mesajlar
6,680
Excel Vers. ve Dili
Excel 2013-Türkçe
Excel 2016-Türkçe
Merhaba,

Hangi ay olduğunu hücreden mi alacak?
Örneğin A1: Şubat yazdığınızda 28 mi yazacak?

Öyle isi,
Kod:
=GÜN(TARİH(GÜN((1&"/"&A1&"/"&2014)+0);AY((1&"/"&A1&"/"&2014)+0)+1;0))
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
294
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Merhaba,

Hangi ay olduğunu hücreden mi alacak?
Örneğin A1: Şubat yazdığınızda 28 mi yazacak?
Örneğin: Ben A1 satırına Range("A1")=Month(Date)
koduyla içerisinde bulunduğumuz ayı yazdırıyorum aradığım kod benim yazdığımın karşısına kaç gün çektiğini yazsa yeterli benim için. :)
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Aşağıdaki gibi bir yapı kullanabilirsiniz.

Kod:
Sub Gun()
    
    Dim ay As Byte, yil As Double
    
    ay = 2
    yil = 2014
    
    MsgBox Day(DateSerial(yil, ay + 1, 0))
    
End Sub
Not: Konu içindeyken cevaplar gelmiş. Alternatif olarak kullanabilirsiniz.
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
294
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Merhaba,

Aşağıdaki gibi bir yapı kullanabilirsiniz.

Kod:
Sub Gun()
    
    Dim ay As Byte, yil As Double
    
    ay = 2
    yil = 2014
    
    MsgBox Day(DateSerial(yil, ay + 1, 0))
    
End Sub
Not: Konu içindeyken cevaplar gelmiş. Alternatif olarak kullanabilirsiniz.
Hocam bu kod Mart ayı olunca da hala 28 gün veriyor. :(
 

Mahir64

Destek Ekibi
Destek Ekibi
Katılım
19 Nisan 2006
Mesajlar
6,680
Excel Vers. ve Dili
Excel 2013-Türkçe
Excel 2016-Türkçe
Kod:
Range("A1") = Evaluate("=DAY(DATE(YEAR(TODAY()),MONTH(TODAY())+1,0))")
--
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
294
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Merhaba,

Aşağıdaki gibi bir yapı kullanabilirsiniz.

Kod:
Sub Gun()
    
    Dim ay As Byte, yil As Double
    
    ay = 2
    yil = 2014
    
    MsgBox Day(DateSerial(yil, ay + 1, 0))
    
End Sub
Not: Konu içindeyken cevaplar gelmiş. Alternatif olarak kullanabilirsiniz.
Kod:
Sub Gun()
    
    Dim ay As Byte, yil As Double
    
    ay = Month(Date)
    yil = Year(Date)
    
    MsgBox Day(DateSerial(yil, ay + 1, 0))
    
End Sub
Sizin kodu ufak bir revize ile istediğim gibi oldu sanırım :)
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Konuyu tam bilmediğim için örnek olması açısından Ay ve yılı sabitlemiştim. Güncel tarih için yazdığınız doğrudur.
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
294
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Merhaba,

Aşağıdaki gibi bir yapı kullanabilirsiniz.

Kod:
Sub Gun()
    
    Dim ay As Byte, yil As Double
    
    ay = 2
    yil = 2014
    
    MsgBox Day(DateSerial(yil, ay + 1, 0))
    
End Sub
Not: Konu içindeyken cevaplar gelmiş. Alternatif olarak kullanabilirsiniz.
Kod:
Sub Gun()
Dim Ay As Byte, Yil As Double
Ay = Month(Date)
Yil = Year(Date)
Range("D1") = Day(DateSerial(Yil, Ay + 1, 0))
End Sub
Bu kod ziyadesiyle işimi gördü. Aklınıza, beyninize sağlık hocam.
Belki başkasına da gerekebilir diye buraya da yazıyorum. Allah razı olsun sizden.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,177
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Yil değişkeni Double olarak tanımlanmış. Bence gereksiz bir tanımlama olmuş. INTEGER olması yeterlidir.

Kod:
Yil As Integer
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
294
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Yil değişkeni Double olarak tanımlanmış. Bence gereksiz bir tanımlama olmuş. INTEGER olması yeterlidir.

Kod:
Yil As Integer
Double olarak tanımlanması hafızada daha mı fazla yer kaplar hocam?
Eğer öyleyse Integer olarak değiştireyim. Ama sağolsun hocamın verdiği kod işi çok rahat bir şekilde gördü. :)
 

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
294
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Teşekkür ederim Korhan hocam :)
 
Üst