Bu dosya, bir UserForm üzerindeki iki TextBox'a yazılan başlangıç ve bitiş tarihi arasındaki farkı "yıl, ay, gün" biçiminde hesaplar. Sonuç formdaki üçüncü TextBox'ta gösterilir. Hesaplama için hücre formülü kullanılmaz, tüm işlem VBA ile yapılır.
Dosyanın içeriği
- exceldestek.com | exceldepo.com sayfası: B2:C16 aralığında kullanılan sayfadır, formül içermez.
- UserForm1: Başlangıç tarihi için TextBox1, bitiş tarihi için TextBox2, sonuç için TextBox3 ve hesaplamayı başlatan CommandButton1 düğmesi bulunur.
- Module1: Formu açan formac makrosunu içerir.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kodda dosya silme ya da dışarıya bağlantı gibi işlem yoktur.- formac: UserForm1 formunu açar.
- CommandButton1_Click: TextBox1 ve TextBox2 değerlerini okur, Tarihfarki fonksiyonuna gönderir ve dönen metni TextBox3'e yazar.
- Tarihfarki: Başlangıç tarihi bitişten büyükse iki tarihi kendiliğinden yer değiştirir. Tam yıl, tam ay ve kalan gün sayısını ayrı ayrı bulur. Ay ve gün hesabında ay sonu uzunluğu dikkate alınır. Yıl, ay ya da gün değeri sıfırsa o bölüm sonuçtan çıkarılır; örneğin yıl sıfırsa yalnızca "ay gün" yazılır.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Alt+F8 ile formac makrosunu çalıştırın; form açılır.
- Birinci kutuya başlangıç, ikinci kutuya bitiş tarihini yazın.
- CommandButton1 düğmesine tıklayın.
- Aradaki süre üçüncü kutuda "X yıl Y ay Z gün" biçiminde görünür.