Tarihten Serbest Dönem Oluşturma

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
669
Excel Vers. ve Dili
excel 2019
İngilizce
Altın Üyelik Bitiş Tarihi
03-12-2024
Merhaba. Örnek ekte, teşekkür ederim.
 

Ekli dosyalar

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
684
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
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
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,626
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
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
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
684
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,232
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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")
 
Üst