Bu dosya, VBA UserForm ile hazırlanmış bir açılır takvim örneğidir. Çalışma sayfasında B sütunundaki bir hücreye çift tıkladığınızda takvim formu hücrenin yanında açılır, seçtiğiniz gün hücreye gg.aa.yyyy biçiminde yazılır. Aynı takvim, UserForm1 üzerindeki bir TextBox'tan da çağrılabilir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sayfa1: A1 hücresinde "SIRA" başlığı, A4:A6 aralığında "1-" ile "5-" arasında sıra numaraları bulunur. Tarihler B sütununa girilir.
- takvim (UserForm): Yıl için TextBox, ay için ComboBox, yıl ve ay değiştirmeye yarayan dört düğme ve günlerin dizildiği bir Frame içerir.
- UserForm1: Takvimin TextBox2 üzerinden nasıl çağrılacağını gösteren örnek form.
- Class1 ve Module1: Gün düğmelerinin tıklama olayını yöneten sınıf modülü ile ortak değişkenlerin ve örnek çağrının bulunduğu modül.
Makrolar
- Worksheet_BeforeDoubleClick (Sayfa1): B sütunundaki hücreye çift tıklandığında (B1 hariç) takvimi hücrenin sağında açar. Form kapandığında bir tarih seçilmişse hücreye gg.aa.yyyy olarak yazar.
- takvim formu: Açılışta bugünün yılını ve ayını getirir, ay adlarını ComboBox'a doldurur. Seçilen yıl ve aya göre gün düğmelerini kodla oluşturur, ayın ilk gününü doğru haftanın gününe yerleştirir. Ay ve yıl düğmeleriyle ileri geri gidilebilir. Yıl 4 haneli olmalı ve en az 1900 olmalıdır, aksi halde uyarı verilir. Form çarpı ile kapatılırsa tarih boş döner.
- Class1: Herhangi bir gün düğmesine tıklandığında takvim formunu kapatır ve seçimi geçerli kılar.
- UserForm1 (TextBox2_MouseDown): TextBox2'ye tıklandığında takvimi kutunun altında açar ve seçilen tarihi kutuya yazar.
- ornek (Module1): UserForm1'i açan örnek prosedürdür.
Kullanılan formüller
Sayfada hücre formülü yoktur. Kod içinde ayın gün sayısını bulmak için WorksheetFunction.EoMonth, tarih oluşturmak için DateSerial ve Format kullanılır.Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayfa1'de B2 veya altındaki bir hücreye çift tıklayın.
- Yıl ve ayı kutudan ya da düğmelerden ayarlayın.
- Bir güne tıklayın, tarih hücreye yazılır.
- UserForm1 örneğini görmek için VBA düzenleyicisinde Module1 içindeki ornek prosedürünü çalıştırın.
- Kendi çalışmanıza almak için takvim, Class1, Module1 modüllerini ve gerekirse sayfa kodunu projenize aktarın.