A2 hücresinde yazılı Tarihin ait olduğu aya ait günlerini satırda ve sütunda sıralama

Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Değerli Dostlar Selamlar,
A2 hücresinde yazılı olan tarih ayın kaçıncı günü olursa olsun o tarihe ait ayın günlerini ayın 1 inden son gününe kadar A sütununa ayrıca B1 den itibaren 1. satıra nasıl sıralarız.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,436
Excel Vers. ve Dili
Ofis 365 Türkçe
Satır ve Sütuna Ayın Tarihlerini Yazdırmak

Sayın kelkitli,

İki butona gerek var mı bilmiyorum, tek butona indirdim ben.

Kod:
Private Sub CommandButton1_Click()
Dim j As Date
Set s1 = Sheets("Sayfa1")
Range("A3:A34").ClearContents
Range("B1:AF1").ClearContents
j = s1.[A2]
Ay = Month(j)
j = DateSerial(Year(j), Month(j), 1)
i = 3
k = 2
Do While Month(j) = Ay
    Cells(i, "A") = j
    Cells(1, k) = j
    i = i + 1
    j = j + 1
    k = k + 1
Loop
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sayın Necdet Hocam Selamlar,
Herzamanki gibi yine en güzel cevap şeklini seçmişsiniz. Teşekkür ederim. Benim düşüncem şöyleydi onun için 2 adet buton koymuştum. Satırda yapacağım sıralama 2.sayfada tarih yazdırmada kullanmak içindi. Konuyu dağıtmamak için özet sormuştum. Siz de haklı olarak özetlemişsiniz.
 
Katılım
15 Ağustos 2007
Mesajlar
97
Excel Vers. ve Dili
excell 2003 türkçe
Makrolar hakkında fazla bilginiz yoksa ekteki dosyada kırmızı renkli hücreleri inceleyiniz.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,436
Excel Vers. ve Dili
Ofis 365 Türkçe
İki ayrı hale getirelim o zaman Sayın Kelkitli :)

Sütun İçin :

Kod:
Private Sub CommandButton1_Click()
Dim j As Date
Set s1 = Sheets("Sayfa1")
Range("A3:A34").ClearContents
j = s1.[A2]
Ay = Month(j)
j = DateSerial(Year(j), Month(j), 1)
i = 3
Do While Month(j) = Ay
    Cells(i, "A") = j
    i = i + 1
    j = j + 1
Loop
End Sub
Satır İçin :

Kod:
Private Sub CommandButton2_Click()
Dim j As Date
Set s1 = Sheets("Sayfa1")
Range("B1:AF1").ClearContents
j = s1.[A2]
Ay = Month(j)
j = DateSerial(Year(j), Month(j), 1)
k = 2
Do While Month(j) = Ay
    Cells(1, k) = j
    j = j + 1
    k = k + 1
Loop
End Sub
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sayın Necdet Hocam,
Bu satır için yazdığınız kodu şu işlev ile nasıl çalıştırabilirim. A2 hücresinde yazılı olan aya 1 ay eklemem gerekiyor. Bir de bu eklediğim ayın 14 üne kadar tarih yazdırmalıyım. Biliyorum sorduğum sorulara biraz mantıksız gelebilir sanıyorum. Bu kodu yazınca biraz sonra hazırladığım formu foruma göndereceğim o zaman daha net anlaşılacaktır.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,436
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba Sayın kelkitli,

Kod:
Private Sub CommandButton2_Click()
Dim j As Date
Set s1 = Sheets("Sayfa1")
Range("B1:AF1").ClearContents
j = s1.[A2]
j = DateSerial(Year(j), Month(j) + 1, 1)
k = 2
Do While k < 16
     Cells(1, k) = j
     j = j + 1
     k = k + 1
Loop
End Sub
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Selamlar,
Necdet Hocam size çok çok teşekkürler ederim.
Bir ay sonrası için tarihi şu şekilde kullandım.
j = DateSerial(Year(s1.[A4]), Month(s1.[A4]) + 1, Day(s1.[A4]))
Bahsettiğim dosyayı ekliyorum. Burada yazdığınız kod Modül11 de.
Hatalarımı denetlerseniz memnun olurum. Günlük olarak bilgi işlenen aylık liste ay sonu puantaja dönüştürülmüş oluyor.
Ayrıca cevap gönderen vaskal isimli arkadaşa da teşekkürlerimi iletirim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,436
Excel Vers. ve Dili
Ofis 365 Türkçe
Sayın kelkitli,

Tam olarak anlamamakla birlikte makroyu inceleyince çalıştığını gördüm. Fakat neden çalıştı onu da anlamadım :) sanırım türkçe ofis kullandığınız için olabilir, Çünkü sheetsler Sayfa1 olarak geçiyor.

Set s1 = Sayfa1

olarak kullanmışsınız, doğrusu ve garantisi

Kod:
Set s1=Sheets("AYLIKLİSTE")
Set s2=Sheets("PUANTAJ")
olmalıydı, en azından ben böyle biliyorum.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Eyvallah Necdet Hocam, Sa&#287;ol Varol.
 
Üst