Tarihten Serbest Dönem Oluşturma

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
725
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019
İngilizce
Altın Üyelik Bitiş Tarihi
11-12-2029
Merhaba. Örnek ekte, teşekkür ederim.
 

Ekli dosyalar

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
745
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,658
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
745
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
43,016
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