Çarpım Tablosu Oluşturan Excel Macro Programı
For r = 1 To 9
For c = 1 To 9
Cells(r, c) = r * c
Next c
Next r
End Sub
Bir döngü örneği olarak, çarpım tablosu hazırlayan bir prosedür yazacağız. Çarpım tablosunda satır numarası ile sütun numarasını çarptıracağız. Yukarıda bu amaçla yazdığımız prosedür bloğunu görmekteyiz.
En temel döngü For-Next döngüsüdür. For-Next döngüsü, For
başlangıç satırı ile Next bitiş satırı arasına yazılan işlem satırlarından
oluşmaktadır. For-Next döngüsü For satırında belirtilen değişkeni, belirtilen
başlangıç değerinden itibaren belirtilen bitiş değerine kadar otomatik olarak
artırır. Bu artırma, bir artım değeri belirtilmemişse birer birer olur. Artırmadaki
başlangıç değeri eşit işareti ile 'to' terimi arasındaki sayıdır. Bitiş değeri
ise 'to' teriminden sonraki sayı olmaktadır.
Örneğimizdeki r değişkeni, satır numarasına ve c değişkeni
ise sütun numarasına karşılık gelmektedir. Bu değişkenlerin değerleri iç içe
For-Next döngüleri tarafından otomatik olarak üretilmektedir. For-Next
döngüsünde Next satırına gelinince bitiş değerine ulaşılmamışsa For satırına
dönülür ve ilgili değişken artım değeri kadar otomatik olarak artırılır ve Next
satırına kadarki satırlarda belirtilen işlemler yapılır.
Excel Macro'da hücre ile ilgili Cells isimli hücre belirteci mevcuttur.
Bu hücre belirtecinin satır no ve sütun no olmak üzere iki değişkeni vardır. Birincisi
satır no, ikincisi sütun no değişkenidir. Bu hücre belirteci farklı değerler aldığı için, aynı zamanda bir değişkendir. İç içe For-Next döngüleri tarafından üretilen
satır ve sütun numaralarını, hesaplama yapıp değeri üzerinde göstereceğimiz
hücrenin belirlenmesinde kullanıyoruz. Bu satır ve sütun numaralarını da
çarptırıp elde ettiğimiz sonucu bu hücrelere görüntülersek çarpım tablosunu
elde etmiş oluruz.
Matematikteki örneğin y=3x işlemini biliriz. 3 sayısını
x değişkeni ile çarpıp sonucunu y değişkenine atama yapıyoruz. Biz de çarpım
tablosu elde ederken r ile c değerlerini çarptırıp Cell(r,c) hücre değişkenine atama
yapmaktayız.
Bir de yukarıdaki prosedür bloğundaki Public ve Sub terimlerinden söz edelim. Public terimi, yazılan prosedürün özel olmadığını ve halka (başkalarına) görünür olduğunu ifade etmektedir. Bir prosedürü özel, yani 'sadece sahibine görünür yapacağımız zaman Public yerine Private terimini kullanırız. Private prosedürler, prosedürlerin adları listelendiğinde görünmezler. Bizim prosedür de kendisine sahip olanın dışına görünür olacağından prosedürümüzü Public olarak nitelendirdik.
Sub terimi ise, prosedür anlamında kullanılmaktadır.
Excel'de Alt ve F11 tuşlarıyla açılan Macro yazma sayfasında yukarıdaki prosedürümüzü oluşturduktan sonra, Excel sayfamıza dönüp bir Ekle menüsünde Dikdörtgen şekil ekleyelim. Bu dikdörtgenin üzerine örneğin Çarpım Tablosu ismini yazalım. Dikdörtgen seçiliyken farenin sağ düğme menüsünden Makro Ata seçeneğini işaretleyelim. Gelen Macro isimleri ekranından CarpimTablosu prosedürümüzü seçelim. Bu seçimden sonra bu oluşturduğumuz dikdörtgen bir düğmeye dönüşmüş oldu. Şimdi bu düğmeye bastığımızda çarpım tablosunu otomatik oluşturacaktır.
Yukarıda anlatıldığı gibi, bizim prosedürümüz Public değil Private olarak nitelendirilmiş olsaydı, buradaki prosedürler listesinde görünmeyeceklerdi.