Bu dosya, bir veri aralığındaki sayılardan yalnızca koyu (Bold) biçimlendirilmemiş olanları toplamak için hazırlanmış kullanıcı tanımlı bir fonksiyon (UDF) içerir. SUMIF gibi standart fonksiyonlar hücre biçimine göre toplama yapamadığı için bu ihtiyaç makro ile çözülmüştür.
Dosya makro içerir (.xlsm); açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir (.xlsm); açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sheet1: B2:D8 aralığında örnek veri bulunur. B2 hücresinde "Rakamlar" başlığı, altında ise koyu ve normal yazılmış örnek sayılar yer alır.
- Module1: KoyuOlmayanTopla fonksiyonunu barındıran VBA modülüdür.
Makrolar
- KoyuOlmayanTopla(Alan): Verilen aralıktaki her hücreyi tek tek dolaşır. Yazı tipi koyu olmayan hücrelerin değerini toplar ve sonucu Double türünde döndürür.
- Fonksiyon Application.Volatile ile tanımlıdır; sayfa her yeniden hesaplandığında çalışır. Ancak koyu/normal biçim değişikliği Excel'de hesaplamayı kendiliğinden tetiklemez; biçimi değiştirdikten sonra F9 tuşuna basılması gerekir.
- On Error Resume Next kullanıldığı için metin gibi sayısal olmayan hücreler hata vermeden atlanır.
- Kodda dosya silme, dışarıya bağlantı gibi zararlı bir işlem bulunmaz.
Nasıl kullanılır
- Dosyayı açın ve üst kısımdaki uyarıdan makroları etkinleştirin.
- Toplanacak sayıların bulunduğu aralığı belirleyin; koyu olmasını istediğiniz hücreleri koyu, diğerlerini normal yazın.
- Sonucu görmek istediğiniz hücreye aşağıdaki biçimde fonksiyonu yazın:
=KoyuOlmayanTopla(B3:B8) - Biçimi değiştirdiğinizde sonucun güncellenmesi için F9 tuşuna basın.
- Fonksiyonu kendi dosyanızda kullanmak için Module1 içindeki kodu, kendi dosyanızın bir modülüne kopyalayın ve dosyayı .xlsm olarak kaydedin.