Excel Kendi Kişisel Fonksiyon Kitabımız

| 21 Aralık 2015 |




Excel Kendi Kişisel Fonksiyon ve Macro Kitabımız

Bu yazımda Excel de oluşturacağımız kendi kişisel fonksiyonlarımızın veya makrolarımızın, tüm çalışma kitaplarında nasıl kullanabileceğimizi açıklamaya çalışacağım. Öncesinde Geliştirici Sekmesini bulamadıysanız, daha önceki makro örneği yazımı da inceleyebilirsiniz.

Geliştirici yada Developer penceresinde “Makro Kaydet” ile “tüm çalışma kitapları için” bir kayıt makrosu oluşturduğumuzda Excel otomatik olarak kişisel bir makro çalışma kitabı oluşturur. Bu kitabın adı Personal.XLSB dir. Excel kendi kişisel fonksiyonlarımızı ve makroları bu dosyada saklar.

Bu dosya C:\Users\”kullanıcı adı”\AppData\Roaming\Microsoft\Excel\Xlstart\PERSONAL.XLSB patch alanında yer alır. (MSOffice2013)

Kişisel Makro Kitabı



Bu örneği verirken oluşturacağım fonksiyon aslında Excel de gizli olan DateDif yada ETarihli olarak geçen, iki tarih arasındaki farkın çeşitli zaman birimlerine göre alınmasını sağlayacaktır.

Öncelikle Geliştirici sekmesinde ki Visual Basic ( ALT + F11 ) düğmesi ile editörümüzü açalım.

Excel Fpnksiyon Modul

VBAProject Kısmında Modüle başlığında Insert ile fonksiyonlarımızı ekleyelim ve modülü kaydedelim. Modüle hemen alttaki pencereden Name kısmında dilerseniz hatırlayabileceğiniz bir isim vermeniz ilerde faydalı olabilir.

Excel kendi kişisel fonksiyon Örneği

[code language=”vb”]

Function FARK_BUGUN(TarihK)
FARK_BUGUN = DateDiff(“d”, Now, TarihK)
End Function

Function FARK_GUN(TarihB, TarihK)
FARK_GUN = DateDiff(“d”, TarihB, TarihK)
End Function

Function FARK_AY(TarihB, TarihK)
FARK_AY = DateDiff(“m”, TarihB, TarihK)
End Function

Function FARK_YIL(TarihB, TarihK)
FARK_YIL = DateDiff(“yyyy”, TarihB, TarihK)
End Function

Function FARK_SAAT(TarihB, TarihK)
FARK_SAAT = DateDiff(“h”, TarihB, TarihK)
End Function

Function FARK_DAKIKA(TarihB, TarihK)
FARK_DAKIKA = DateDiff(“n”, TarihB, TarihK)
End Function

Function FARK_SANIYE(TarihB, TarihK)
FARK_SANIYE = DateDiff(“s”, TarihB, TarihK)
End Function

Function FARK_HAFTA(TarihB, TarihK)
FARK_HAFTA = DateDiff(“w”, TarihB, TarihK)
End Function

[/code]

Fonksiyon adlarından anlaşılabileceği gibi iki tarih arasındaki farkı alabileceğimiz fonksiyonlarımızı da oluşturmuş olduk. Artık benzeri kendi fonksiyonlarımızı oluşturup bunları kişisel makro kitabımızda saklayabilir ve Tüm çalışma kitaplarımızda kullanabiliriz. Burada yapmamız gereken Görünüm sekmesinden kitabı Gizle diyerek her çalışma kitabının arkasında gizli olarak bu kitabın açılmasını ve kişisel makro veya fonksiyonlarımızın çalışmasını sağlayabiliriz.

Excel Kitap Gizleme

Oluşan Fonksiyonlarımız bağlı komutlar D sütununda ve Modülde ki karşılıkları F sütununa göre hesaplamaları yapmaktadır. İlişkiyi belirtmek açısından bu sayfada metin olarak yer alıyor.

personalXLSB2

Diğer yaklaşım standart Excel Fonksiyonunun kullanımı:

Normalde Excel Formül Çubuğunda aşağıdaki format da kullanılabilirdi.

=DATEDIF ( BaşlangıçTarihi , BitişTarihi , ZamanBirimi ) EN de (burada DATEIFF gibi çift F değildir.)

=ETARIHLI ( BaşlangıçTarihi , BitişTarihi , ZamanBirimi ) TR de kullanılır.  Bu gizili bir fonksiyon olduğundan gözükmeyebilir ama çalışır. 🙂

Zaman birimleri : “d” ,”m”, “y”, “h”, “n”, “s” ,”w” gibi opsiyonlar olabilir.

Modül üzerinden kişiselleştirmek veya direk kullanmak tercihe kalmış bu örnekte benimse bahsetmek istediğim özel hazırlayacağınız kodları için kişisel makro yada fonksiyon kitabı kullanmanın daha etkin olduğunu belirtmek aslında.

Fazla karmaşık olmadan basit olarak bu yöntemle Excel de bir çok kullanışlı özel makro ve fonksiyonlarınızı modüller üzerinden rahatlıkla kullanabilirsiniz.

Eğer excel kendi kişisel fonksiyonlarınızı başka bir kullanıcı ile paylaşacaksınız

ve sizin kişisel macro kitabınızdan bağımsız olarak hareket etmesini istiyorsanız. VBA Geliştirme ekranında sürükle bırak ile bu modülünüzü ilgili excel çalışma kitabına taşıyarak bağımsız hale de getirebilirsiniz.

Excel Modul Kopyalama

 

 



Etiket:

Kategori: Yazılım

Bora M. Deniz ()

Teknoloji, internet, ve bilişim gibi konularda paylaşımlarım ve yazılarımla 2011 den beri teknorapor.com dayım. Sosyal medya da yararlı bulduğunuz yazılarımı paylaşmanız dileklerimle... The author shares and writings IT, internet and technology news blog offering

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir