• DİKKAT

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

Girilen tarihe göre sıralı takvim oluşturmak.

Katılım
18 Ekim 2010
Mesajlar
215
Excel Vers. ve Dili
Microsoft Excel 03,07
Merhaba;

Aşağıdaki kodlar ile b1 hücresine yazdığım (1.1.2012, 1.2.2012, vb...) tarihe 31 gün ilave edip alt alta ay yıl formatında tarih oluşturmak istiyorum. Ancak, aynı hücrede bir döngü yapıp daha sonra altındaki hücrede aynı döngüye giriyor. Bu sorunu nasıl çözebilirim ?

Kod:
Dim h As Worksheet
    Set h = Sheets(1)
    For b = 0 To 365 Step 31
        For a = 2 To 13
            h.Cells(a, 1) = Format(h.Range("b1").Value + b, "mmmm yyyy")
        Next a
    Next b
 
Merhaba;

Aşağıdaki kodlar ile b1 hücresine yazdığım (1.1.2012, 1.2.2012, vb...) tarihe 31 gün ilave edip alt alta ay yıl formatında tarih oluşturmak istiyorum. Ancak, aynı hücrede bir döngü yapıp daha sonra altındaki hücrede aynı döngüye giriyor. Bu sorunu nasıl çözebilirim ?

Kod:
Dim h As Worksheet
    Set h = Sheets(1)
    For b = 0 To 365 Step 31
        For a = 2 To 13
            h.Cells(a, 1) = Format(h.Range("b1").Value + b, "mmmm yyyy")
        Next a
    Next b

Alt alta yapmak için
kod

Kod:
Dim h As Worksheet
Dim sat As Long
sat = 2
    Set h = Sheets(1)
    For b = 0 To 365 Step 31
        For a = 2 To 13
            h.Cells(sat, 1) = Format(h.Range("b1").Value + b, "mmmm yyyy")
            sat = sat + 1
        Next a
    Next b
 
Merhaba halit3,

Emeğiniz için teşekkür ederim ama ben sorumu yanlış anlatmış olabilirim. sat = sat+1 kodunu eklediğimde örneğin; önce alt alta 12 adet Haziran 2012 sonra onun da altına 12 adat Temmuz 2012 oluşturuyor. Benim istediğim ise; b1 hücresine 1.1.2012 girdiğimde belirlediğim hücrelere Ocak 2012, Şubat 2012, Mart 2012 şeklinde sıralı tarihler oluşturması :/

Edit : halit3, teşekkür ederim. Aşağıdaki şekilde düzenleyerek sorunumu çözdüm :) Yardımlarınız için teşekkürler...

Kod:
Dim h As Worksheet
    Dim sat As Long
    sat = 2
    Set h = Sheets(1)
    For b = 0 To 365 Step 31
            h.Cells(sat, 1) = Format(h.Range("b1").Value + b, "mmmm yyyy")
            sat = sat + 1
    Next b
 
Merhaba halit3,

Emeğiniz için teşekkür ederim ama ben sorumu yanlış anlatmış olabilirim. sat = sat+1 kodunu eklediğimde örneğin; önce alt alta 12 adet Haziran 2012 sonra onun da altına 12 adat Temmuz 2012 oluşturuyor. Benim istediğim ise; b1 hücresine 1.1.2012 girdiğimde belirlediğim hücrelere Ocak 2012, Şubat 2012, Mart 2012 şeklinde sıralı tarihler oluşturması :/

Ben anlıyamadım siz bir adet örnek dosya ekleyin ve manuel olarak olması gerekenleri elle yazın bir görelim.
 
Sayın halit3,
Sorunumuzu yukarıdaki mesajımı editleyip çözmüştüm. İlginize teşekkür ederim.
Selamlar. Bu kodlar nasıl RUN oluyor ?
Sayın serdarokan,
Aşağıdaki kodlar bir butona atanmıştır.
Kod:
Private Sub CommandButton1_Click()
    Dim h As Worksheet
    Dim sat As Long
    sat = 2
    Set h = Sheets(1)
    For b = 0 To h.Range("d1") * 360 Step 31
            h.Cells(sat, 1) = Format(h.Range("b1").Value + b, "mmmm yyyy")
            sat = sat + 1
    Next b
End Sub
 
Merhaba,

Kodlar, takvim yılı çok olduğunda (5,10,20 yıl için vs...) bazı ayları atlayıp çalışmayabilir. Daha küçük yıllar için ve başlangıç tarihi her ayın 1 i olarak girilerek daha düzgün olabilir. Sorunsuz kodlara tabi ki uzmanlarımız el atabilir diye düşünüyorum :)
 
Geri
Üst