• DİKKAT

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

Döngü içinde tarihin ayını arttırmak

  • Konbuyu başlatan Konbuyu başlatan Usyk
  • Başlangıç tarihi Başlangıç tarihi
Katılım
20 Temmuz 2006
Mesajlar
171
Excel Vers. ve Dili
Office 2016 Tr
Merhaba,
UserForm üzerinde Texbox4'e yazılan tarihi, Textbox5'e yazılan sayı kadar, sayfamda ilk boş satırdan itibaren alt alta yazdırıyorum.
Ancak tarihlerin gün ve yıl sabit kalmak üzere, ay kısmını 1'er ay arttırarak yazdırmak istiyorum.

Örnek:
TexBox4 = 01.10.2024
TexBox5 = 4 ise;

A sütünundaki ilk boş satıra;
A14 = 01.10.2024
A15 = 01.11.2024
A16 = 01.12.2024
A17 = 01.01.2025

Şeklinde bir yardıma ihtiyacım var, saygılarımla.

Private Sub CommandButton1_Click()
Set s2 = Sheets("Sayfa1")
For i = 1 To TextBox5.Value
yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1
s2.Cells(yeni, "A") = TextBox4.Value
Next i
End Sub
 
Merhaba,
dateadd fonksiyonunu kullanabilirsiniz.

İnceleyiniz.
Kod:
Public Sub tar()

Dim tar As Date

tar = Range("A1")

tar = DateAdd("m", 1, tar)

Range("b1") = tar

End Sub
 
Set s2 = Sheets("Sayfa1")
tarih = Format(TextBox4.Value, "mm/dd/yyyy")
satir = TextBox5.Value
For i = 1 To satir
yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1

s2.Cells(yeni, "A") = DateAdd("m", i, tarih)

Next i
 
Merhaba
Alternatif.
Kod:
Private Sub CommandButton1_Click()
    Dim Say As Long
    Dim Bak As Integer
    If Not IsDate(TextBox4.Text) Then
        MsgBox "Lütfen TexBox4'e geçerli bir tarih giriniz.", vbExclamation
        Exit Sub
    ElseIf Not IsNumeric(TextBox5.Text) Then
        MsgBox "Lütfen TexBox5'e rakam giriniz.", vbExclamation
        Exit Sub
    End If
    
    Say = Cells(Rows.Count, "A").End(xlUp).Row + 1
    For Bak = 0 To TextBox5.Value - 1
        Cells(Say + Bak, "A").Value = DateAdd("m", Bak, TextBox4.Value)
    Next
End Sub
 
Necdet hocam daha önce dateadd fonksiyonunu inceledim, ama döngü içinde beceremedim, ilginiz için teşekkür ederim, saygılarımla.
 
Set s2 = Sheets("Sayfa1")
tarih = Format(TextBox4.Value, "mm/dd/yyyy")
satir = TextBox5.Value
For i = 1 To satir
yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1

s2.Cells(yeni, "A") = DateAdd("m", i, tarih)

Next i

Sayın Muzaffer, ilk tarihi de bir sonraki ay olarak değiştiriyor, TextBox4' girilen tarih değişmeden ilk boş hücreye yazılacak, ilginiz için teşekkür ederim, saygılarımla.
 
Merhaba
Alternatif.
Kod:
Private Sub CommandButton1_Click()
    Dim Say As Long
    Dim Bak As Integer
    If Not IsDate(TextBox4.Text) Then
        MsgBox "Lütfen TexBox4'e geçerli bir tarih giriniz.", vbExclamation
        Exit Sub
    ElseIf Not IsNumeric(TextBox5.Text) Then
        MsgBox "Lütfen TexBox5'e rakam giriniz.", vbExclamation
        Exit Sub
    End If
   
    Say = Cells(Rows.Count, "A").End(xlUp).Row + 1
    For Bak = 0 To TextBox5.Value - 1
        Cells(Say + Bak, "A").Value = DateAdd("m", Bak, TextBox4.Value)
    Next
End Sub

Sayın Muzaffer, ilgi ve yardımınız için çok teşekkür ederim, denedim. İstediğim gibi olmuş, çok teşekkür ederim, saygılarımla.
 
Geri
Üst