• DİKKAT

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

Tarihten Serbest Dönem Oluşturma

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
794
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019
İngilizce
Merhaba. Örnek ekte, teşekkür ederim.
 

Ekli dosyalar

Deneyiniz,
Sıralamayı J'ye yapar.

Kod:
Sub TarihleriSırala()
    Dim başlangıçTarihi As Date
    Dim bitişYılı As Integer
    Dim aySayacı As Integer
    Dim hücre As Range

    Range("J3:J" & Rows.Count).ClearContents
    başlangıçTarihi = Range("E1").Value
    bitişYılı = Range("G1").Value
    Set hücre = Range("J3")
    aySayacı = 0
    Do While Year(DateAdd("m", aySayacı, başlangıçTarihi)) < bitişYılı
        hücre.Value = Year(DateAdd("m", aySayacı, başlangıçTarihi)) * 100 + Month(DateAdd("m", aySayacı, başlangıçTarihi))
        Set hücre = hücre.Offset(1, 0)
        aySayacı = aySayacı + 1
    Loop
End Sub
 
Deneyiniz,
Sıralamayı J'ye yapar.

Kod:
Sub TarihleriSırala()
    Dim başlangıçTarihi As Date
    Dim bitişYılı As Integer
    Dim aySayacı As Integer
    Dim hücre As Range

    Range("J3:J" & Rows.Count).ClearContents
    başlangıçTarihi = Range("E1").Value
    bitişYılı = Range("G1").Value
    Set hücre = Range("J3")
    aySayacı = 0
    Do While Year(DateAdd("m", aySayacı, başlangıçTarihi)) < bitişYılı
        hücre.Value = Year(DateAdd("m", aySayacı, başlangıçTarihi)) * 100 + Month(DateAdd("m", aySayacı, başlangıçTarihi))
        Set hücre = hücre.Offset(1, 0)
        aySayacı = aySayacı + 1
    Loop
End Sub
Sayın RBozkurt izninizle arkadaşımızın isteğini tam olarak karşılaması için ufak bir dokunuş yaptım.
Kod:
Sub TarihleriSırala()
    Dim başlangıçTarihi As Date
    Dim bitişYılı As Integer
    Dim aySayacı As Integer
    Dim hücre As Range

    Range("J3:J" & Rows.Count).ClearContents
    başlangıçTarihi = Range("E1").Value
    bitişYılı = Range("G1").Value
    Set hücre = Range("J3")
    aySayacı = 0
    Do While Year(DateAdd("m", aySayacı, başlangıçTarihi)) <= bitişYılı
        hücre.Value = Year(DateAdd("m", aySayacı, başlangıçTarihi)) * 100 + Month(DateAdd("m", aySayacı, başlangıçTarihi))
        Set hücre = hücre.Offset(1, 0)
        aySayacı = aySayacı + 1
    Loop
End Sub
 
Sayın RBozkurt izninizle arkadaşımızın isteğini tam olarak karşılaması için ufak bir dokunuş yaptım.
Kod:
Sub TarihleriSırala()
    Dim başlangıçTarihi As Date
    Dim bitişYılı As Integer
    Dim aySayacı As Integer
    Dim hücre As Range

    Range("J3:J" & Rows.Count).ClearContents
    başlangıçTarihi = Range("E1").Value
    bitişYılı = Range("G1").Value
    Set hücre = Range("J3")
    aySayacı = 0
    Do While Year(DateAdd("m", aySayacı, başlangıçTarihi)) <= bitişYılı
        hücre.Value = Year(DateAdd("m", aySayacı, başlangıçTarihi)) * 100 + Month(DateAdd("m", aySayacı, başlangıçTarihi))
        Set hücre = hücre.Offset(1, 0)
        aySayacı = aySayacı + 1
    Loop
End Sub

Sıkıntı yok hocam ne demek. G1'de yazan yıla kadar diye olunca o yılı dahil etmemiştim.
 
Formülle alternatif...

Tüm liste dökülmeli olarak oluşacaktır. (Ofis 365)

C++:
=TEXT(EOMONTH(E1;SEQUENCE(DATEDIF(E1;DATE(YEAR(E1)+F1-1;12;31);"m")+1;1;0;1)); "yyya")
 
Geri
Üst