|
poliyanna
|
 |
« : 06 Nisan 2008, 15:55:33 » |
|
I. MAKROLAR A. Makro Nedir
Makro: Sık yapılan işleri otomatikleştirir.
Eğer Microsft Excel’de belirli ibir işi tekrarlı olarak (yinelemeli) yapıyorsanız, bu işi makro ile otomatik hale getirebilirsiniz. Örneğin her ay sonu yaptığınız işlemler. Makro, belli bir işi yapmak üzere her istediğinizde çalıştırabileceğiniz bir Visual Basic modulü içersine depolanmış komutlar ve fonksiyonlar dizisidir.
B. Makro Türleri Makroları, oluşturma yöntemine göre iki grupta toplayabiliriz.
• Kayıt (Record) Yöntemi ile makro oluşturma. • Visual Basic Editörü ile makro oluşturma.
Makro kaydetmek tıpkı bir kasete müzik kaydetmeye benzer. Bir kez kaydedilen müzik nasıl tekrar tekrar çalınabiliyorsa bir kez kaydedilen makro da tekrar tekrar çalıştırılabilir. Makro kaydetmeye yada yazmaya başlamadan önce makronun yapacağı işe göre kullanılacak komutlar ve adımlar planlanmalıdır. Çünkü özellikle kayıt makrosu oluşturulurken bir hata yapılırsa hatayı düzeltme adımları da kaydedilecektir. Her yeni bir makro kaydedişinizde; makro, çalışma kitabına eklenen bir modül sayfasına saklanır.
Visual Basic editörü ile de makro düzenlenebilir. Visual Basic Editörü ile makroları, bir modülden diğerine ya da çalışma kitapları arasında makro kopyalayabilir ve makro ya da modülün adını değiştirebilirsiniz .
II. MAKRO GELİŞTİRME Bu bölümde bir kayıt makrosunun nasıl yaratılacağı, çalıştırılacağı ve yeniden düzenlemelerin yapılması işlemleri anlatılmaktadır. Kayıt makroları daha önce de belirtildiği gibi rutin işleri otomatik hale getiren işlem tanımlamalarındır. Veri üzerinde yapılacak işlemler bir kez yapılırken makro olarak kayıt edilir (record). Ardından bu makro yeni veriler üzerinde kullanılır.
A. Makro Geliştirmede Kullanılacak Adımlar Bu yöntemi kullanmadan önce yapacağımız işin adımlarını çok iyi belirlemeliyiz hatta gerekiyorsa bir kenara adım adım not alın.
Makro kaydetme:
1. Tools menüsünden Macro komutunu ve Record New Macro komutunu seçin . 2. Macro Name kutusuna makro için bir ad yazın . Örneğin “Kolon Topla”.
Not: Makro adının ilk karakteri harf olmalıdır. Diğer karakterler harf, rakam yada alt çizgi karakteri olabilir. Makro adında boşluğa izin verilmez ;boşluk yerine alt çizgi işareti kullanılabilir.
3. Store macro in kutusundan makroyu kaydetmek istediğiniz yeri seçin. Eğer makronuzun Excel’in her yerinde geçerli olmasını istiyorsanız ; makronuzu XLStart klasöründeki, Personal Macro Workbook a kaydedin.
Saklama yerleri: This Workbook: Bulunulan çalışma kitabına. New Workbook: Yeni bir çalışma kitabına Personal Macro Workbook: Sadece makroların bulunduğu özel bir çalışma kitabına.
Makronuzun bir açıklama içermesi için Description kutusuna açıklamanızı yazabilirsiniz. (Bu açıklama makronun yaptığı iş olabilir).
4. OK düğmesine tıklayarak makro kayır işlemine başlanır.
5. Makroya kaydetmek istediğiniz işlemleri yapın.
Makro çalışırken bazı hücreleri seçecek yada bu hücrelerden giriş çıkış yapacaksa bu hücrelerin neye bağlı olarak seçileceği ile ilişkili bir ön tanımlama yapmak gerekir. Yani makronun erişeceği hücreler makro çalıştırıldığı anda aktif olan hücreye bağlı olarak değişecekse (göreceli adres kullanacaksa) Stop Recording Araç çubuğundaki Relative References butonuna tıklayıp onu basılı duruma getirin, ancak bir müddet sonra hücre adresleri önceki aktif hücrelerden atkilenmeyecekse bu durumda Relative Reference butonuna bir kez daha tıklayarak onu basılmamış duruma getirin. Bir makro içersinde hem mutlak hemde göreceli adresleme tekniğini birlikte kullanabilirsiniz. Her birinin etkisi kendisinden sonra yapılan eylemleri etkiler.
6. Kaydı bitirmek için Stop Recording düğmesine tıklayın..
Not: Makro kayıt ederken genellikle temiz (hatasız) bir kullanım gerekir. Eğer kayıt sırasında hata yapılırsa bu hatalar makronun çalıştırılmasında da karşımıza gelir. Bunun dışında kayır ederken durum çubuğunda “Recording” açıklaması yer alır.
B. Makro Iletişim Kutusu Kaydedilen makroları çalıştırmak, yendien düzenleme ve silmek için makro iletişim kutusu kullanılır.
İletişim kutusu seçenekleri:
Macro Name: Makronun adını içerir. Macros In : Listelenen makroların yer aldığı projeleri gösterir. Run: Seçilen makroyu çalıştırır. Step Into: Makronun ilk satırını göstererek işletim için göstergeci bu satırın başına getirir. Edit: Makro kodunu açarak görülmesini ve düzenlenmesini sağlar. Create: Yeni bir makro yaratmak için kod penceresi açar. Delete: Seçilen makroyu projeden çıkarır.
C. Makro Senaryoları Makroların kayıt edilerek yaratılması ve daha sonra istenildiği kadar kullanılması; gereksinimlere göre farklı işlerde kullanılmasını sağlar.
Örneğin: Bir ay, ürün toplamının (ya da başka bir işlemin) diğer bir ürün ya da ay için de uygulanması. Bunun dışında yine her ay düzenlenen bütçe özetleme işleminin her ay otomatik olarak makro ile yapılması.
Bunun dışında biçimleme işlemleri yapan makrolar, hesaplama işlemleri yapan makrolar, grafik çizen makrolar, veriler üzerinde toplu değişiklik yapan makrolar gibi makrolar yaratılır.
Örnek: 142 numaralı ascii (Ä) karakterlerini i harfi ile değiştiren makronun kaydedilmesi.
1. Tools menüsünden Macro oradan da Record New Macro’a tıklayınız.
Record macro iletişim kutusu görüntülenecektir. Macro Name kutusuna makro adı olarak TurkceABC giriniz. Makroyu klavye kısayoluyla çalıştırmak istiyorsanız, Shortcut key kutusuna bir harf giriniz.
2. Ok düğmesine tıklayınız. Edit menüsünden Replace ya da Klavyeden Ctrl-H kısayolunu kullanarak değiştirme komutunu çalıştırınız. Find What kutusuna 142 (ALT+142) nolu ascii karakterini, Replace with kutusuna da i harfini giriniz . Replace All düğmesine tıklayınız. Sayfadaki tüm ASCII 142 karakterlerinin yerine i harfleri yazılacaktır.
3. Stop Recording düğmesini tıklayarak, makro kaydını bitirin.
D. Makroyu Çalıştırma Yöntemleri Excelde hazıladığınız bir makroyu aşağıdaki ortamlardan çalıştıra bilirsiniz.
1. Microsoft Excel Tool Menüsünden 2. Düğme aracılığıyla 3. Çizilen bir nesne ya da grafik aracılığıyla 3. Klavye kısayoldan 4. Araç çubuğundan 5. Özel olaylara bağlı olarak
İpucu: Çalışmakta olan bir makroyu durdurmak için ESC ye basınız.
1. Makroyu Microsoft Excel Tool Menüsünden çalıştırmak 1. Tools menüsünden, Macro menüsü oradan da istenine makro seçilir. 2. Macro Name kutusunan, çalıştırmak istediğiniz makronun adını yazın.Yada altındaki listeden çalıştırmak istediğiniz makroyu seçin. 3. Run düğmesine tıklayın.
2. Makroyu bir düğme,çizim nesnesi yada grafik yardımı ile çalıştırmak. Çalışma kitabınızdaki bir butona ,çizim nesnesine yada grafiğe bir makro atayabilirsiniz .Buton, çizim nesnesi yada grafiğe tıkladığınızda bunlara atanmış olan makrolar otomatik olarak çalışırlar
3. Bir nesneye bir makro atama adımları
1. Makronun atanacağı nesneye tek tıklayarak nesneyi seçin. 2. Seçili nesnenin üzerinde iken sağ tıklayıp açılan kısayol menüsünden Assign Macro ya tıklayın. Varolan bir makroyu atamak için Macro Name kutusuna nesneye atanacak makronun adını yazın ve OK düğmesine tıklayın.
Eğer yeni kayıt makrosu kaydedip nesneye onu atamak istiyorsanız Record düğmesine tıklayın
4. Makroyu Klavye kısayolundan çalıştırmak Bu işlem iki yoldan yapılır: 1. Makro (ilk defa) yaratılırken 2. Makro yaratıldıktan sonra
1. Tools menüsünden Macro komutunu seçin. 2. Macro Name kutusuna yeni makronun adını yazın. 3. Shortcut key kutusuna makro çalıştırmak için kullanacağınız harfi yazın.
Mevcut bir makroya bir kısayol tuşu atamak istediğiniz zaman:
1. Tools menüsünden Macro komutunu seçin. 2. Option düğmesine tıklayın. 3. Shortcut key kutusuna bir harf giriniz.
Kısayol olarak CTRL + harf (küçük harfler için) veya CTRL+ SHIFT + harf (büyük harf için) tuşlarına basabilirsiniz. Kısayol tuşu olarak rakam yada özel karakter kullanamazsınız. Kısayol olarak tanımladığınız anahtara eğer önceden Excel tarafınfan bir makro atanmışsa önceki tanımlama geçersiz olacaktır. Tabiki sadece tanımladığınız makronun geçerli olduğu çalışma kitaplarında.
5. Makroyu Araç çubuğu butonundan çalıştırmak. Bir makroyu var olan yada kendi oluşturacağınız bir araç çubuğundaki butondan çalıştırabilirsiniz .
Araç Çubuğu’na Makro Atama Adımları 1. View menüsünden Toolbars komutunu seçilir. 2. Customize komutunu seçin.
Makro atamak istediğiniz araç çubuğu görüntüde değilse Toolbar sekmesine tıklayıp görüntülenmesini istediğiniz araç çubuğunun başındaki onay kutusunu fare ile tıklayarak doldurun.
3. Commands sekmesine tıklayıp, Categories listesinden Macros bölümüne tıklayın ve görüntüye gelen Custom Button nesnesini bir araç çubuğunun üzerine sürükleyin. 4. Araç çubuğunun üzerine sürüklediğiniz özel düğme nesnesine sağ tıklayrak açılan menüden Assign Macro ya tıklayın. 5. Macro Name kutusuna butona atamak istediğniz makronun adını yazın.
6. Makroyu bir özel olaya bağlı olarak çalıştırmak. Excelde bir olay meydana geldiğinde bir makronun kendiliğinden devreye girmesi için makroya özel adlar verilebilir.
Otomatik çalışan makro adları ;
Auto_Open: Bu makronun etkin olduğu çalışma kitabı açılırken çalışır.
Auto_Close: Bu makronun etkin olduğu çalışma kitabı kapatılırken çalışır.
E. MAKRO DÜZENLENME Makro düzenlemek, Record macro yöntemi ile kaydedilmiş makrolar üzerinde değişiklik yapmak ya da Create Macro yöntemi ile yeni makro geliştirmeyi kapsar
Record yöntemi ile geliştirilmiş makroları düzenlemek için:
1. Tools menüüsünden Macro, oradan da Macros seçeneğine tıklayın .
2. İstediğiniz makroyu seçin ve Edit düğmesine basın.
Bu gelen ekran VBA dilinde kod yazmak yada önceden yazılmış makroları tekrar düzenlemek amacıyla kullanılan bir kod geliştirme ekranıdır.
Makro kaydederken yapmış olduğunuz işlemlerin VBA dilindeki karşılıkları Sub Macro adı ve End Sub deyimleri arasında göreceksiniz.
Bu bölümde şimdilik yapabileceğimiz en basit işlem önceden kaydettiğimiz. bir makronun içeriğini değiştirmek ve düzenlemektir.
Not :Excel ve Makro modul sayfası arasında geçiş için Taskbar yada Klavyeden Alt-Tab kısayolunu kullanabilirsiniz .
SheetEkle adıyla kaydettiğimiz makronun kodları aşağıdaki şekilde görünecektir.
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.
|