• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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

Katılım
3 Şubat 2005
Mesajlar
294
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
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.
 
Tarihi A1'de baz alırsak formülü girebilirsiniz.

=GÜN(TARİH(YIL(A1);AY(A1)+1;0))
 
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))
 
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. :)
 
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.
 
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. :(
 
Kod:
Range("A1") = Evaluate("=DAY(DATE(YEAR(TODAY()),MONTH(TODAY())+1,0))")

--
 
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 :)
 
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.
 
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.
 
Yil değişkeni Double olarak tanımlanmış. Bence gereksiz bir tanımlama olmuş. INTEGER olması yeterlidir.

Kod:
Yil As Integer
 
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ü. :)
 
Teşekkür ederim Korhan hocam :)
 
Geri
Üst