UserForm Üzerindeki Takvim

Katılım
21 Kasım 2004
Mesajlar
87
Merhaba,

UserForm üzerine yerleştirdiğimiz takvim nesnesi tek bir ay'ı göstermektedir. Bir komut düğmesi ile sağa doğru açılarak sonraki ay'ı gösterecek (ilk ay sabit kalacak) şekilde nasıl oluşturabiliriz. Bu önceki ay, sonraki ay şeklinde olabilecek, üç ayrı ayı içerecektir. Tşk.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Userforma aşağıdaki kodları yazın.

kodlar belki dahada kısaltılabilir fakat yıl dönümlerinde hata olmaması için biraz uzun oldu.

selamlar

Kod:
Private Sub UserForm_Initialize()
Calendar1.Year = Year(Now)
Calendar1.Month = Month(Now) - 1
If Month(Now) = 1 Then
Calendar1.Year = Year(Now) - 1
Calendar1.Month = Month(Now) + 11
End If
Calendar2.Year = Year(Now)
Calendar2.Month = Month(Now)
If Month(Now) = 12 Then
Calendar3.Year = Year(Now) + 1
Calendar3.Month = Month(Now) - 11
Exit Sub
End If
Calendar3.Year = Year(Now)
Calendar3.Month = Month(Now) + 1
End Sub
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
İlk cevabımı userform üzerinde üç ayrı takvim olduğunu düşünerek hazırlamıştım. Buradada tek takvim buna karşın 3 adet command buton var, bu butonlar tıklandığında önceki ay,şimdiki ay ve bir sonraki ayları aynı takvim üzerinde gösterecektir. her buton içine yazılacak kodlar aşağıdaki gibidir.

Userformun ilk açılışda takvimin bugünkü ayı göstermesi için

Kod:
Private Sub UserForm_Initialize()
Calendar1.Year = Year(Now)
Calendar1.Month = Month(Now)
End Sub
bir önceki ayı gösterecek commandbutton için;

Kod:
Private Sub CommandButton1_Click()
If Month(Now) = 1 Then
Calendar1.Year = Year(Now) - 1
Calendar1.Month = Month(Now) + 11
Exit Sub
End If
Calendar1.Year = Year(Now)
Calendar1.Month = Month(Now) - 1
End Sub
Þimdiye geri dönecek commandbutton için;

Kod:
Private Sub CommandButton2_Click()
Calendar1.Year = Year(Now)
Calendar1.Month = Month(Now)
End Sub
Bir sonraki ayı gösterecek commandbutton için;

Kod:
Private Sub CommandButton3_Click()
If Month(Now) = 12 Then
Calendar1.Year = Year(Now) + 1
Calendar1.Month = Month(Now) - 11
Exit Sub
End If
Calendar1.Year = Year(Now)
Calendar1.Month = Month(Now) + 1
End Sub
 
Katılım
2 Eylül 2005
Mesajlar
141
Excel Vers. ve Dili
Excel 2003 - Türkçe
leventm üstad teşekkürler benimde işime yaradı
 
Üst