Bu dosya, VBA ile yazılmış yashesapla adlı kullanıcı tanımlı fonksiyonu (KTF) içerir. Fonksiyon, hücreye girilen doğum tarihini bugünün tarihiyle karşılaştırır ve yaşı "X Yıl Y Ay Z Gün" biçiminde döndürür. Hem kullanıcı tanımlı fonksiyon yazmayı öğrenmek hem de yaş hesabını hazır kullanmak için uygundur.
Fonksiyon B3'teki tarihi okur. Hücre boşsa ya da tarih bugünden ilerideyse sonuç olarak "Hatalı Tarih" metnini verir. Geçerli tarihlerde tam yılları, kalan günlerden ayları ve artakalan günleri hesaplayıp tek metin olarak birleştirir.
Dosyanın içeriği
- Sayfa1: B2:D3 aralığında çalışan örnek tablo. B3 hücresine doğum tarihi girilir, D3 hücresinde sonuç görüntülenir. Sayfada ayrıca bir CommandButton1 düğmesi vardır; düğme UserForm1 formunu açar.
- Module1: yashesapla ve artikyil fonksiyonlarını ve FormAc yordamını barındıran kod modülü.
- UserForm1: Tarih girişi için hazırlanmış kullanıcı formu.
Kullanılan formüller
D3 hücresinde kullanıcı tanımlı fonksiyon çağrılır:=yashesapla(B3)
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kodda dosya silme ya da dışarıya bağlantı gibi zararlı bir işlem yoktur.- yashesapla: Doğum tarihine göre yıl, ay ve gün değerlerini üretir; hesapta DateSerial ile yıllar arasındaki gün farkı (365 veya 366) kullanılır.
- artikyil: İki yıl arasındaki gün sayısını döndüren yardımcı fonksiyondur.
- FormAc ve CommandButton1_Click: UserForm1 formunu açar.
- UserForm1: Açılışta B1 hücresindeki tarihi gg.aa.yyyy biçiminde gösterir. TextBox2 kutusuna yazılırken 2. ve 5. karakterden sonra otomatik nokta ekler. Kutudan çıkıldığında değeri "Ana" sayfasının A1 hücresine yazar ve C1 hücresindeki sonucu TextBox4 kutusuna getirir. Bu nedenle formun çalışması için "Ana" adlı bir sayfa gerekir; mevcut dosyada yalnızca Sayfa1 bulunmaktadır.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayfa1'de B3 hücresine doğum tarihini gg.aa.yyyy biçiminde girin.
- D3 hücresinde yaş yıl, ay ve gün olarak görüntülenir.
- Başka hücrelerde kullanmak için formülü aşağı kopyalayın, örneğin D4 hücresine yazıp B4'ü gösterin.
- Kodu incelemek için Alt+F11 ile VBA düzenleyicisini açın ve Module1'e bakın.