Professional Documents
Culture Documents
Ramazan BAYKAL
1
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Dosya mens
Excel seenekleri
Gven merkezi
Gven merkezi ayarlar butonu
Makro ayarlar
Tm Makrolar etkinletir seimi
Tamam butonuyla ilemi bitiriniz.
Ayrca makro bulunan Excel alma kitabnz kaydederken dosya tr seimi yapa-
rak da altrmanz mmkndr. Tr Makro erebilen Excel alma Kitab
2
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
3
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Label
Etiket anlamna gelen bu nesne ile form zerine istediiniz konuma metin ekleyebilir-
siniz. Eklediiniz metni zellikler penceresinden yaz tipi ile bykln, grnm-
n deitirmeniz mmkndr.
TextBox
Metin kutusu anlamna gelen bu nesne ile form zerine istediiniz konuma metin giri
kutusu ekleyebilirsiniz. Eklediiniz giri kutusuna girilecek olan metni zellikler pen-
ceresinden yaz tipi ile bykln, grnmn deitirmeniz mmkndr.
CommandButton
Komut butonu anlamna gelen bu nesne ile form zerine istediiniz konuma komut
butonu ekleyebilirsiniz. Eklediiniz komut butonu zerine girilecek olan metni zellik-
ler penceresinden belirleyip, yaz tipi ile bykln, rengini ve grnmn dei-
tirmeniz mmkndr.
4
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Properties
zellikler anlamna gelen bu pencerede seili olan form nesnesine ait zellikler ayarla-
nabilmektedir.
Value : Deer
Text : Metin
Height : Ykseklik
Width : Genilik
End Sub
5
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
End Sub
UserForm2.Hide
End Sub
6
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Form zellikleri
Name : Form ad
BackColor : Form rengi
BorderStyle : Pencere kenarl stili
Caption : Pencere bal
Enabled : Kullanlabilirlik (True, False)
Font : Yaz tipi zellikleri
ForeColor : Metin rengi
Height : Form ykseklii
Left : Formun ekrann sol kenardan uzakl
MouseIcon : Fare simgesi
MousePointer : Fare iaretisi
Picture : Form yzeyine resim ekleme
PictureAlignment : Form yzeyine eklenen resmin hizalanmas
PictureSizeMode : Form yzeyine eklenen resmin boyutlandrma modu
PictureTiling : Form yzeyine eklenen resmi deme (True, False)
ScrollBars : Kaydrma ubuklar
StartUpPosition : Formun balang pozisyonu
Top : Formun ekrann st kenardan uzakl
WhatThisButton : Bu nedir butonu ekler (True, False)
Width : Formun genilii
Zoom : Formu bytme/kltme yzdesi
7
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
F5 ile altrnz.
8
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
9
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
MultiPage yapma
Form zerine bir adet MultiPage, Pageler ierisine birka tane CheckBox yerletiriniz.
Page1 Caption zelliini Zorunlu Dersler olarak deitiriniz.
Page2Caption zelliini Semeli Dersler olarak deitiriniz.
CheckBoxcaptionlarn ders isimleri olarak belirleyiniz. F5 tuuyla altrnz.
10
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Form zerine bir adet GrupBox yerletiriniz. Caption zelliine Eitim Durumu yaz-
nz.
GrupBox ierisine drt adet OptionButton yerletiriniz. Caption zelliine lkokul, Or-
taokul, Lise, niversite kelimelerini yaznz.
Form zerine bir adet Label yerletiriniz. Caption zelliine Tahsil Durumu yaznz.
Font zelliinde yaz boyutunu 12 ve kaln seiniz.
Form zerine bir adet TextBox yerletiriniz. Font zelliinde yaz boyutunu 12 ve kaln
seiniz.
Form zerine bir adet CommandButton yerletiriniz. Caption zelliine Kaydet yaz-
nz. Font zelliinde yaz boyutunu 11 ve kaln seiniz.
11
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
ToggleButton Kullanm
Form zerine bir adet ToggleButton yerletiriniz. Caption zelliine Resmi Gizle yaz-
nz.
Form zerine bir adet Image yerletiriniz. Picture zelliini kullanarak bir resim seiniz.
12
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
ToggleButtona tkladnzda resmi gizliyor veya gsteriyor. Her seferide buton zerindeki me-
tin duruma uygun olarak deiiyor. Seilen resim Image erevesinden byk veya kk olma-
s durumunda stretch zellii ile ereveye gre boyutlandrabilirsiniz.
Image1.PictureSizeMode=1- fmPictureSizeModeStretch gibi.
13
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
SpinButton, deer deitirici olarak bilinen bir form nesnesidir. zerindeki aa/yukar veya
saa/sola doru ok iaretlerine tklayarak deer deitirilir. Balang deeri belirlenebilir. Mi-
nimum ve Maksimum deerler belirlenebilir. Orientation zellii ile pozisyonu deiebilir.
Balangta SpinButton deeri Minimum 0, Maximum 100 dr. stenirse bu deerler -10/+10
gibi deitirilebilir.
ScrollBar, kaydrma ubuu olarak bilinen bir form nesnesidir. zerindeki aa/yukar veya
saa/sola doru ok iaretlerine tklayarak deer deitirilir. Balang deeri belirlenebilir. Mi-
nimum ve Maksimum deerler belirlenebilir. Orientation zellii ile pozisyonu deiebilir.
Balangta ScrollBar deeri Minimum 0, Maximum 32767 dir. stenirse bu deerler -100/+100
gibi deitirilebilir.
rnek uygulamada form zerine bir adet SpinButton, bir adet ScrollBar, iki adet label nesnesi,
iki adet TextBox nesnesi yerletirelim. Label nesnelerinin Caption zelliini ekran grntsn-
deki gibi deitirelim. TextBox nesnelerinin BackColor zelliini kullanarak renklendirelim.
SpinButton nesnesine tklandka deer deiecektir. Bu deeri TextBox1 deeri olarak tanm-
layalm.
14
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
ScrollBar nesnesine tklandka deer deiecektir. Bu deeri TextBox2 deeri olarak tanmlaya-
lm.
15
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
For Dngs
Bir ilemi tekrarlamak iin oluturulan programlama yapsdr. Bir deiken, balang ve biti
deerleri belirlenmelidir.
Aadaki form tasarmn yapalm. Yazdr butonu altna gerekli kodlar yazalm.
rnek olarak girilen bir metni yineleme says kadar tekrarlayarak hcrelere yazdralm.
16
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
If sorgusu
Bir deikeni veya bir durumu sorgulamak iin kullanlan programlama yapsdr.
Aadaki form tasarmn yapalm. Yazdr butonu altna gerekli kodlar yazalm.
rnek olarak onaylanm dersleri hcrelere yazdralm.
17
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Onay kutusunun her iki durumunu da kontrol etmek isterseniz kodlar aadaki ekilde hazr-
lamalsnz.
18
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Bir adet ToggleButton kullanarak derslerin hepsini seebilir veya hi birini semeyebilirsiniz.
Aadaki kodlar ToggleButton altna yazarak buton adn deitirebilir veya onay kutularnn
tmn onaylayp kaldrabilirsiniz.
Burada rendiiniz makro programlama kodlaryla derslerin hepsini veya dilediiniz birkan
onaylayarak ders kayd yapabilirsiniz.
ift grnml buton balnn hangi durumda nasl olmas gerektiine dikkat ediniz.
19
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
2den 9a kadar saylar iin arpm tablosu komutlar aadadr. Sadece arpm sonularn
gsterir.
Tablo grnmnde tek stunda hazrlamak iin deiken deerlerini ve aritmetik operatrleri
de grntlemek gerekecektir.
2X1=2
2X2=4
2 X 3 = 6 gibi
20
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
21
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
22
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Form Olaylar
Activate : Form aktif olduunda
Initialize : Balatldnda
KeyDown : Tu aa indiinde
Layout : Dzenlendiinde
23
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Scroll : Kaydrldnda
Kontrol(Nesne) Olaylar
AfterUpdate : Gncelleme sonrasnda
Exit : kldnda
24
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Scroll : Kaydrldnda
SpinDown : Aa dn yapldnda
25
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Sync :Senkronize
26
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Calculate : Hesaplandnda
Change : Deitiinde
27
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
rnekler :
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox "ift tklama yaptnz"
End Sub
28
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
29
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
30
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
31
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
End If
End Sub
Private Sub UserForm_Initialize()
Open "c:\Personel.txt" For Random As #1 Len = Len(ALAN)
End Sub
32
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
33
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
A1 hcresine res1, res2, res3 yazarak Enter tuuna basldnda resim deiecektir. Resimler
buradaki kodlara gre D:\Yedek3\ex-makro klasrnde bulunmaktadr. Deiiklik yaparak iste-
diiniz klasrdeki resimleri grntleyebilirsiniz.
34
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
rnek alma
Kayt Al butonu hazrlayarak, giri kutusu yardmyla notlar alalm. Hesapla butonu yardmyla
girilen vize ve finalin ortalamasn, harf notunu ve GEER/TEKRAR durumunu yazdralm.
Sub Kaytyap()
vize = InputBox("Vize notu ?")
final = InputBox("Final notu ?")
kac = InputBox("Kanc satra yazlacak ?")
Cells(kac, 1).Value = vize
Cells(kac, 2).Value = final
End Sub
Sub Dme1_Tklat()
'
' Dme1_Tklat Makro
' Makro abc tarafndan 28.01.2002 tarihinde kaydedildi.
kyt = InputBox("Kayt Says ?")
For i = 1 To kyt
Cells(i, 3).Value = 0.4 * Cells(i, 1).Value + 0.6 * Cells(i, 2).Value
hh = Cells(i, 3).Value
Select Case hh
Case Is >= 90
Cells(i, 5).Value = "AA"
Case Is >= 80
Cells(i, 5).Value = "BB"
Case Is >= 70
Cells(i, 5).Value = "CC"
Case Is >= 60
Cells(i, 5).Value = "DC"
Case Is >= 50
Cells(i, 5).Value = "DD"
Case Is >= 40
Cells(i, 5).Value = "FD"
Case Is >= 30
Cells(i, 5).Value = "FF"
35
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
End Select
Kayt al butonuna tkladnzda vize, final ve yazlacak satr numaras girilmesi gerekir.
36
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
37
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
FONKSYON HAZIRLAMA
Bir Excel alma kitabnda fonksiyon hazrlamak ve tm alma kitaplarnda altrmak iin
XLA trnde kaydetmeniz gerekmektedir. Bu trde kaydedilen dosyalar ADDINS klasrne
kaydedilecektir.
ADDINS (EKLENT) NEDR?
Eklenti demektir. Tanml fonksiyonlar bulunan zel tanmlanm dosyalardr. rnein renci
notlarn harf notuna dntrmek iin fonksiyon yazlarak bu fonksiyon btn alma kitapla-
rnda kullanlabilir.
EKLENTLER KULLANIMA AMAK
Eklentileri kullanma amak iin Gelitirici sekmesinde bulunan Eklentiler simgesine tklaynz ve
kaydettiiniz eklenti dosyanz iaretleyiniz.
FONKSYON HAZIRLAMA
38
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Excel dosyas aldnda form ekrana getirmek iin aadaki gibi bir prosedr kullanmalyz.
Private Sub Workbook_Open()
UserForm1.Show
End Sub
EXCEL AILDIINDA OTOMATK OLARAK DOSYA AMA
Bir alma kitabnn (Excel dosyasnn) Excel program alnca otomatik olarak almas iin
XLSTART klasrne kaydedilmesi gerekir. Bu klasrn yolu yle olabilir;
C:\Program Files\Microsoft Office\Office14\XLSTART
takip edilir;
39
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Bir prosedr ierisinde baka prosedr altrmak mmkndr. Bunun iin sadece prosedr
ad kullanlr. Prosedrler altprogram (Sub) veya fonksiyon(function) olabilir. Aadaki rnekte
hesap1 adl alt programda 1. Stunda 1-20 aras satrlara i deeri yazdrlyor. Sonra hesap2
adl altprogramda 1. Stunda 1-20 aras satrlarda bulunan deerlerin karekkleri 2. Stuna
yazdrlyor. Son olarak hesap isimli alt programda hesap1 ve hesap2 adl altprogramlar
arlyor.
Sub hesap() Sub hesap1() Sub hesap2()
hesap1 For i = 1 To 20 For i = 1 To 20
hesap2 Cells(i, 1) = i Cells(i, 2) = Cells(i, 1) ^ (1 / 2)
End Sub Next i Next i
End Sub End Sub
Sub graf2()
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Range("Sayfa1!$A$22:$B$27")
End Sub
Sub graf3()
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Range("Sayfa1!$A$22:$B$27")
End Sub
40
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
Sub graf1()
ActiveSheet.Shapes.AddChart.Select % Grafik ekleniyor.
ActiveChart.ChartType = xlXYScatterLines % Grafik tr belirtiliyor.
ActiveChart.SetSourceData Source:=Range("Sayfa1!$A$1:$B$17") % Veri alan belirleni-
yor.
End Sub
X-Y Dalm Grafii butonuna atanan makroyu altrmak iin tklamak gerekmektedir.
41
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
42
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
43
Makro Programlama Dersleri r. Gr. Ramazan BAYKAL
44