|
poliyanna
|
 |
« Yanıtla #1 : 09 Nisan 2008, 12:17:16 » |
|
Sub SheetEkle() ' ' SheetEkle Macro ' Macro recorded 2/5/98 by sau9 ' ' Keyboard Shortcut: Ctrl+q ' Sheets.Add End Sub
Başlangıç olarak bu kodları satır satır açıklayıp ne işe yaradıklarını anlamaya çalışalım.
Sub Sheetekle()
Bu satır makromuzun adının Sheetekle olduğunu gösteriyor. Sub deyimi bunun bir altprogram olduğunu gösteriyor.
Tek tırnak (‘) işareti ile başlayan satırlar programın çalışmasını etkilemez ancak program içersine yazılacak açıklama satıraları tırnak işareti başlaması gerekir.
Sheet.Add
Programın tek komut satırı olan bu satır Sheet tipinde bir nesne ekleneceğini gösteriyor.
End sub
ve programın bittiği satır.
Sheet.Add satırını Sheet.Delete olarak değiştirip makromuzu bir kez de bu şekliye çalıştıralım . Tabi makroyu çalıştırmadan önce Excel penceresine geçmek gerekir.
Diğer bir örnek; Ascii karakterlerini Türkçe harfle değiştiren makronun Edit Macro ortamında düzenlenmesi.
1. Tools menüsünden Macro oradan da macros a tıklayınız 2. Macro name kutusundan TurkceAbc adlı makroyu seçip Edit düğmesine tıklayınız. 3. TurkceABC makrosu aşağıdaki şekilde görüntülenecektir.
Sub TURKCEABC() ' ' TURKCEABC Macro ' Macro recorded 2/5/98 by sau9 ' ' Keyboard Shortcut: Ctrl+Shift+Q ' Cells.Replace What:=”î”, Replacement:=”i”, LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False
End Sub
Yukarıdaki örnek sadece 142 nolu ascii karakterini değiştirecek şekilde. Ancak çok sayısada farklı karakterin değiştirilmesi isteniyosa her biri için teker teker kayıt makroları oluşturmak zaman alır bunun için elimizdeki bu kayıt makrosu üzerinde bazı değişiklikler yaparak bu sorunu çözelim.
What =”î” satırı aranan karakteri, Replacement=”i” satırı da yerine konacak karakteri gösterir.
Makromuzu aşağıdaki şekle getirelim.
Sub TURKCEABC() ' ' TURKCEABC Macro ' Macro recorded 2/5/98 by sau9 ' ' Keyboard Shortcut: Ctrl+Shift+Q ' Cells.Replace What:=”ÿ”, Replacement:=”i”, LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False Cells.Replace What:=”£”, Replacement:=”ü”, LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False
End Sub
Excel penceresine geçip makroyu çalıştırın.
1. Create Macro yöntemi ile Makro oluşturmak. Tool menüsünden Macro ya oradan Macros’a tıklayın Macro Name kutusuna makroya vermek istediğiniz (yeni) adı yazıp Create butonuna tıklayın.
Ardından Visual Basic editörü içinde:
Sub makroadı()
End Sub
Alanları görünecektir.
Sub makroadı()
-bu kısımda kodlarınızı yazın-
End Sub
Not : Create yöntemi ile oluşturulan makrolar da aynen Record yöntemi ile kaydedilen makrolar gibi çalıştırılırlar.
III. EXCEL VBA Visual Basic for Application (VBA), Microsoft Visual Basic programlama dilinin nesne temelli bir uyarlamasıdır. Nesneler Microsoft uygulamaları tarafından sağlanır.
Visual Basic for Application, Excel içinde yer alır. Excel gibi diğer uygulamalar da VBA’ı destekler. Visual Basic bilen kullanıcılar VBA’e alışmaları çok kolay olacaktır. Excel bilen kullanıcılar ise hem hem VBA’i öğrenecek hem de Visual Basic’i öğrenecektir.
VBA, güçlü ve kolay kullanılan bir makro dili olarak geliştirilmiştir. Uzman ve yeni başlayan kullanıcılar (kendi işleri ile ilgili) gereksinimlerini VBA ile kolayca çözebilecektir. VBA sayesinde diğer uygulamalarla da iletişim sağlanır. Birbirine bağlanabilen bu uygulamalar; Microsoft Excel, Microsoft Power Point, Microsoft Project ve Visual Basic ile yazılmış uygulamalar.
A.Visual Basic Editörü Excel içinde bir makro ya da VBA kodu yazmak için Visual Basic araç çubuğu üzerinde yer alan “Visual Basic Editor” kullanılır.
Eğer daha önce Excel ya da Word ortamında makro yazdıysanız, Visual Basic Düzenleyicisi ilk başta daha önce görmediğiniz pencereler ve düğmelerle karışık gelecektir.
Not: Visual Basic Düzenleyici içindeki özel bir pencere hakkında bilgi almak için, o pencereyi açtıktan sonra F1 tuşuna basın. 1. Özellikler Penceresi Bir özellik, bir nesnenin rengi ya da başlığı gibi bir karakteristiğidir. Bir nesnenin boyu, rengi, yazı tipi bilgiler bu pencere aracılığıyla düzenlenir. 2. Proje Gezgini Bir çalışma kitabı, belge, şablon ya da sunumla ilişkilendirilmiş kodların hepsi çalışma kitabı, belge, şablon ya da sunumla beraber otomatik olarak kaydedilen bir proje içinde saklanır. Visual basic düzenleyicinin içindeki, proje gezgini ile açık bulunan her çalışma kitabı, belge, şablon ya da sunumun içindeki projeleri görebilir, değiştirebilir ve aralarında geçiş yapabilirsiniz.
Proje gezgini penceresini isterseniz değişik yerlere yerleştirebilir ya da boyutlarını değiştirebilirsiniz.
Proje gezgininde açık bulunan her çalışma kitabı, belge, şablon ya da sunum için bir proje vardır. Her proje içinde ise, olayları temsil eden nesneleri bulacaksınız. Bu nesneler; Belgeler, Çalışma kitapları ve Çalışma sayfalarıdır.
Formlar: (Kullanıcı formları olarak da adlandırılır) Kullanıcıların veri girişi ya da bilgi alış verişi için kullanılan iletişim kutularıdır. Standart Modüller: Özel bir nesne ya da bir formla ilişkisi olmayan kodlan taşırlar. Sınıf Modüller: Özel bir nesne tipinin kodunu taşırlar. Referanslar: Diğer projelere olan referansları taşırlar. Bir modül ya da form içindeki kodu görebilmek için, nesneye tıkladıktan sonra, Proje gezgini penceresinin üstündeki, Kod Görüntüle düğmesine basın. Kod Görüntüle düğmesi Bir nesne ya da formun kendisini görebilmek için ise, nesneye tıkadıktan sonra, Proje gezgini penceresinin üstündeki, Nesne Görüntüle düğmesine basın. Nesne Görüntüle düğmesi 3. Kod Penceresi Bir proje içindeki kodları görebilmek için, kodu taşıyan elemana tıkladıktan sonra, Proje Gezgini penceresinin üst tarafında bulunan Kodu Görüntüle düğmesine basmanız gerekir.
İpucu: Kod penceresinde aynı anda birden fazla yordam görebilmek için, Araçlar, Seçenekler menüsündeki, Düzenleyici sekmesinden, Tam Modül Görünümünü Varsay kontrol kutusunu seçin. Her seferinde bir yordam görebilmek için ise bu kontrol kutusunu temizleyin.
Kod pencerenin üst tarafında bulunan Nesne (Object) ve Yordam (Procedure) listelerini kullanarak kodlar arasında geçiş yapabilirsiniz. Nesne kutusundan, (Genel) üzerine gelin ve Yordam kutusundan, özel bir olaya atanmamış bir Yordam adına tıklayın. Nesne kutusunda, bir nesneye tıklayın, ardından Yordam kutusundan, herhangi bir olay üzerine basarak, o olaya atanmış bulunan kodları görün.
B. Bir Procedure'ın Yapısı Visual Basic düzenleyici ortamına yaratılacak olan program kokdu makro ya da procedure (yordam) olarak adlandırılır.
Visual Basic’te değişik türde yordamlar (procedure) kullanılır:
• Sub • Function • Property
Bir Sub yordamı herhangi bir değer döndürmez. Çağrılarak ya da bir olaya tepki olarak çalışır. Function yordamlar ise bir değer döndürüler. Örneğin bir faiz hesabının sonucunu döndürürler. Property yordamlar ise bir değer döndürüler, atama yaparlar ve nesnelerin referanslarını düzenlerler.
Bir Sub yordamının yapısı:
[Private|Public][Static] Sub yordam adı (argümanlar)
Deyimler
End Sub
Yordam çalıştırıldığında Sub ve End deyimleri arasında kalan satırlar işletilir. Sub yordamlar standart modüller, class modüller ve form modülleri içinde yer alırlar. Sub yordamlar varsayım olarak bütün modüllerde Public tanımlanır. Bunun anlamı bu yordamların uygulamanın heryerinden (diğer modüllerden) çağırılabilmesidir.
Argümanlar ise tanımlanan bir değişken gibidir. Çağırılan yordamdan geçen değerler olarak tanımlanır.
Visual Basic’te yordamlar (procedure) ikiye ayrılırlar:
• Genel yordamlar • Olay yordamları 1. Genel Yordamlar Bir genel procedure belli bir işlemi üstlenen program parçasıdır. Örneğin bir dosyanın açılması ya da raporun bastırılması için kullanılabilir. Genel yordamlar diğer yordamlardan çağrılırlar. Böylece belli bir işlevi olan bu birim programın her yerinden istenildiği kadar çağrılarak kullanılır.
Buna karşın olay yordamları ise kullanıcının yarattığı bir olay nedeniyle çalışır. Olay yordamları kullanıcıların hareketlerine tepki olarak çağrılırlar. Örneğin bir düğmeye tıklayarak bir işlemin başlatılması.
İyi bir programlama stratejisi içinde bir takım ortak görevler genel yordamlar olarak planlanmalıdır. Böylece kod tekrarına gerek kalmaz.
Yapısı:
Sub yordam adı(arguments )
-deyimler-
End Sub
2. Olay Yordamları Olay yordamları bir olayın (event) oluşmasına tepki olarak çalışırlar. Visual Basic nesneleri (formlar, metin kutuları, düğmeler, vb) belli olayları tanırlar. Böylece olay oluştuğunda; o olay için hazırlanmış olay yordamı çalışır.
Bir komut düğmesinin olayları:
|