Favorilerine Ekle | Giriş Sayfan Yap | Tavsiye Et

 

Kurs Tanıtım Sayfası | Süper Üye Kimdir? | Menü Tasarımı Konulu Örnek Ders
Kod İndir| Hazır Kodlar | Makaleler| İpuçları | VB .NET Kursu | Dersler | Forum | Alt Bölümler | Servisler
    Merhaba Misafir
    anasayfa » visual basic makaleleri » EXCELDE KENDİ EKLENTİLERİNİZİ VE FONKSİYONLARINIZI OLUŞTURUN
Üye Girişi
Kullanıcı Adı:  
Şifre : 
Kaydet ?
Siteden tam olarak faydalanabilmek için üye olmalısınız.
Unuttuğunuz şifrenizi öğrenebilmek için kayıt sırasında verdiğiniz Hatırlatma Cevabı'nı bilmeniz gereklidir.
Şifre hatırlatma işlevini sadece 3 defa kullanma hakkınız vardır.
Kullanıcı adını ve şifresini unutan üyelere email ile yardım verilmez.

Aktivasyon Gelmedi mi?Aktivasyon mesajınız email adresinize gelmedi mi?
Buraya tıklayarak bir kez daha aktivasyon mesajı gönderilmesini sağlayabilirsiniz.
Lütfen email hesabınızın BULK ve SPAM klasörlerini de kontrol ediniz.
Rastgele Makale

DATAGRIG' DEN VERİ AKTARIMI 2 (EXCEL-WINDOWS)

Yazar: nymph
Datagrid′den Excel′e Veri Aktarımı


Webmasterlar
Sitenize Ekleyin!
Sitenizde "Son Eklenen 10 Visual Basic Yazısı"'nı göstermek ve içeriğini zenginleştirmek için buraya tıklayınız.

Vbasicmaster.com'a link verin!
Aşağıdaki minik banneri sitenize eklemek için tıklayın!

Üye Sayısı:
Ziyaretçiler nerede?
Yayın № : 866
Yayın Tar:13.09.2004
Yazar : mahoni06
Hit :14920

Bu Yazarın Yazıları Sadece bu yazarın  göster
Bu Yazıyı Tavsiye Et

EXCELDE KENDİ EKLENTİLERİNİZİ VE FONKSİYONLARINIZI OLUŞTURUN

Excel dosyalarında devamlı aynı formüllere mi ihtiyaç duyuyorsunuz? Kendi formüllerinizi oluşturun ve tüm Excel dosyalarında bu formüllere kolaylıkla erişin ve kullanın?

GİRİŞ:
Bir Excel dosyasını açtığınızda şöyle bir formül kullandıysanız bilirsiniz; dec2hex, hex2dec, dec2bin, bin2dec vs., bu formülleri kullanabilmek için Araçlar ? Eklentiler içinden Toolpak Çözümleyicilerin seçilmiş olması gerekir. Toolpak eklentisi Program FilesMicrosoft OfficeOffice10LibraryAnalysisATPVBAEN.XLA dosyasıdır. Eğer daha önce verilen bu tip formülleri kullanmak isterseniz bu dosyanın Eklentiler içinde seçilmiş olması gerekir. Bu dosya ne işe yarar derseniz, mühendislik kategorisinde formülleri içeren makroların yazıldığı bir dosyadır. Dec2Hex formülü; desimal olarak verilen değer yada hücrenin hexadesimal olarak değerini aktif hücreye yazdığı bir formüldür. Excel?in kendisine ait diğer eklentileri ise; Arama sihirbazı, Çözücü eklentisi, İnternet yardımcısı VBA, Koşullu toplam sihirbazıdır. Eğer hex, dec, oct, bin sayı çevrimlerini kullandıysanız XOR da kullanmak istemişsinizdir fakat XOR olarak Excel ?in bir formülü yoktur. Bu durumda siz kendiniz bu formülü yazabilir ve sayfa içerisinden rahatlıkla kullanabilirsiniz?

BİR FORMÜL NASIL OLUŞTURULUR;
Eğer Excel in formüllerini incelemişseniz şuna benzer şekilde olduklarını görürsünüz;
=HEX2DEC(A1) ?Yani A1 hücresinin içinde hex sayı var onu decimale çevir demek?
=HEX2DEC(?ff?) ?Üsteki formülle aynı fakat hücre erimi değil direkt olarak hex biçimli veri girilmiş?

=TOPLA(A1:A10) ?A1den A10 a kadar tüm hücrelerin içerisindeki verileri topla demek?
=TOPLA(A1;A5;A8;B13) ?Üstteki formülle aynı fakat sadece A1 + A5 + A8 + B13 hücrelerini topla demek, erim olarak geniş karelik bir alan verilmemiş (?;? ve ?:? ye dikkat!).
=TOPLA(A1;125) ?Üstteki formülle yine aynı fakat sadece A1 hücresi ile 125 sayısını topla demek.

=DÜŞEYARA(A5;SHEET1!A1:C500;2;YANLIŞ) ?Bu formülde ise aktif sayfanın A5 hücresine bak, sheet1 sayfasının A1:C500 eriminde A sütununda bunu ara; bulduğunda 2nci sütun (B sütununu)daki değeri yaz; eğer A5 ile bulduğun tamamıyla aynı ise demek?.

Yukarıdaki formüllerde de görüleceği üzere;
1. Formül = ile başlar
2. Formülün kod kelimesi verilir
3. Formülde verilecek değerler parantez içinde girilir
4. Verilecek değer birden fazla ise aralarında noktalı virgül kullanılır
5. Değerler girilecek formülün ihtiyacına göre değişebilir (sayı olabilir, string olabilir, erim yada tek hücre olabilir vs.)

Şimdi bu bilgilerin ışığında kendi formülümüzü oluşturalım?
XOR fonksiyonunu yapan bir formül oluşturacağız. Verilen iki hücre yada erim içerisindeki verileri long olarak okuyacak ve birbirleriyle XORlayıp sonucu formül yazılan hücrede gösterecek.

1. Önce formülümüze bir isim verelim: XorDec (long tipindeki sayıların XOR u için kullanılacağından her zaman akılda kalması için anlamlı olmasına dikkat edilmeli ve kullanılamayacak isimlere dikkat!).
2. Girilecek (istenen) veriler ne olacak (önce tek hücreli sonra geniş erim olsun; A1 ile A2:A5 gibi)
3. Formül sonucu nasıl gösterilecek (formül girilen hücreye long tipinde sayı)

FONKSİYON OLUŞTURMAK;
Buraya kadar tamam, peki Formül nasıl yazılacak? Fark etmiş olacağınız üzere bu Basic?de de yazılan fonksiyonlara benzer. Giriş değerlerini alacak, üstünde işlem yapacak ve sonucunda bir değer döndürecek? Excel Visual Basic Düzenleyicisini (Araçlar ? Makro altında yada Alt+F11 kısayol) açalım. Insert menüsünden bir Module ekleyelim, bu projemize yeni bir modül ekler.

Public Function xORdec(OneCell As Range, Optional MultipCells As Range) As Long

Satırını yazalım. Bu Public olarak fonksiyonumuzu tanımlayacak, her taraftan kullanabileceğiz. OneCell isimli değişken bir erim, tercihsel olarak MultipCells olarak diğer erim fonksiyonla birlikte girecek ve fonksiyondan Long tipinde değer dönecek.

?kullanacağımız değer tiplerini tanımlayalım
Dim tmpH As Long ?long tipinde tmpH değeri tüm XOR değerler için kullanılacak

?hata tuzaklaması, eğer hata kontrolü yapılmazsa sonsuz döngü ve istenmeyen sonuçlar doğurabilir fonksiyonumuz
?Local olarak tanımlanmasının nedeni function yada sublarda hata olursa buraya gelmemesi için
On Local Error GoTo errTekHücre
?Eğer hücre doluysa bunu geçici bir değere ata
If OneCell Then tmpH = Val(OneCell)
?geniş erim olarak tanımlanan çoklu hücrelerin değerini
For Each Cell In MultipCells
?xor la
tmpH = tmpH Xor Val(Cell)
Next
?sonucu fonksiyona ata
xORdec = tmpH

Exit Function


errTekHücre:
?hatayı temizle
Err.Clear
?gösterilecek sonuca ne yazılacak, hata nasıl gösterilecek; hata mesajı olarak biz burada 0 sonucunu döndürdük?
xORdec = 0
?hata artık olduğu yerde kalsın
On Local Error GoTo 0
Exit Function


End Function

Basitçe yazacağımız kodlar şimdilik bu kadar. Şimdi bunu kaydedelim. Bu açık Excel dosyasının içinde yer alacak. Bu dosyanın herhangi bir yerine şimdi formülümüzü yazalım
=xordec(A3;A4:A10) ?anlamı A3?den A10?a kadar hücrelerin içindekileri XORla demek eğer içinde hata oluşursa sonucunda 0 yazacak?

EKLENTİ OLUŞTURMAK;
Peki bu Excel dosyasını kaydedip, kapatıp başka bir Excel dosyası açarsak bu formülü kullanabilir miyiz? Bu formülü yazdığımız hücrede #AD? hata mesajı görünür. Bu formülün tanımlanamadığını gösterir. Bu sorun ise eklentilerle aşılır. Yani Excel her açıldığında belirlenen her eklenti Excel ile birlikte yüklenir.

Boş bir Excel dosyası açalım, Visual Basic Düzenleyicisini (Araçlar ? Makro altında yada Alt+F11 kısayol) nden, Insert menüsünden bir Module ekleyelim. Yukarıda verilen kodları aynı şekilde yazalım.

Açmış olduğumuz çalışma kitabını farklı kaydet menüsü ile Microsoft Excel Eklentisi (*.xla) kayıt türünde, örneğin BenimMakrolarım adıyla kaydedelim. Bu çalışma kitabı sürücü:Documents and SettingsKullanıcı AdıApplication DataMicrosoftAddIns dizininde kaydedilecektir.

Şimdi de Araçlar-Eklentiler menüsü açalım. Gözat butonuna basarak, yeni kaydetmiş olduğumuz eklentiyi işaretleyerek Tamam butonuna basalım. Kullanılabilir eklentiler: penceresinde bizim yazdığımız eklenti de görülecektir. Bunu işaretlediğimizde, her zaman Excel açılırken bizim eklentimizi de yükleyecektir.

Artık yazdığımız fonksiyonu herhangi bir Excel çalışma sayfası içerisinden formül yazarmış gibi girerek kullanabiliriz?

Şuna benzer bir fonksiyonu eklentinize eklerseniz,
Public Function aX() As String
aX = "Adınız Soyadınız"
End Function

Çalışma sayfanızda =aX() yazdığınızda, adınız soyadınız hemen görünecektir?

Görüleceği üzere, Excel in kolaylıklarını (özelliklerini) daha verimli kullanırsanız, Excel de sizi hamallıktan (rutin işlerden) kurtaracaktır?

;o)





Bu sayfa için henüz yorum eklenmemiş.

© Hakan Ersöz 2000-2013| Üyelik Sözleşmesi | | Ödeme Bildirimi
Sitemizden yenilikleri hemen öğrenin, pop upları engelleyin, chat yapın... ToolBarımızı indirin:
Vasicmaster Toolbar'ı indirin