Professional Documents
Culture Documents
Excel VB A Program Lama
Excel VB A Program Lama
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 yaparak da altrmanz mmkndr. Tr Makro erebilen Excel alma Kitab
Label
Etiket anlamna gelen bu nesne ile form zerine istediiniz konuma metin ekleyebilirsiniz. Eklediiniz metni zellikler penceresinden yaz tipi ile bykln, grnmn 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 penceresinden 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 zellikler penceresinden belirleyip, yaz tipi ile bykln, rengini ve grnmn deitirmeniz mmkndr.
Font
ForeColor
BackColor
Name
Value
: Deer
Text
: Metin
Height
: Ykseklik
Width
: Genilik
Form zellikleri
Name
BackColor
BorderStyle
Caption
Enabled
Font
ForeColor
Height
Left
MouseIcon
MousePointer
Picture
PictureAlignment
PictureSizeMode
PictureTiling
ScrollBars
StartUpPosition
Top
WhatThisButton
Width
Zoom
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
Form ad
Form rengi
Pencere kenarl stili
Pencere bal
Kullanlabilirlik (True, False)
Yaz tipi zellikleri
Metin rengi
Form ykseklii
Formun ekrann sol kenardan uzakl
Fare simgesi
Fare iaretisi
Form yzeyine resim ekleme
Form yzeyine eklenen resmin hizalanmas
Form yzeyine eklenen resmin boyutlandrma modu
Form yzeyine eklenen resmi deme (True, False)
Kaydrma ubuklar
Formun balang pozisyonu
Formun ekrann st kenardan uzakl
Bu nedir butonu ekler (True, False)
Formun genilii
Formu bytme/kltme yzdesi
F5 ile altrnz.
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
Form zerine bir adet GrupBox yerletiriniz. Caption zelliine Eitim Durumu yaznz.
GrupBox ierisine drt adet OptionButton yerletiriniz. Caption zelliine lkokul, Ortaokul, 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 yaznz. Font zelliinde yaz boyutunu 11 ve kaln seiniz.
11
ToggleButton Kullanm
Deitirici dmeleri anlamnda kullanlr.
Form zerine bir adet ToggleButton yerletiriniz. Caption zelliine Resmi Gizle yaznz.
Form zerine bir adet Image yerletiriniz. Picture zelliini kullanarak bir resim seiniz.
12
ToggleButtona tkladnzda resmi gizliyor veya gsteriyor. Her seferide buton zerindeki metin duruma uygun olarak deiiyor. Seilen resim Image erevesinden byk veya kk olmas durumunda stretch zellii ile ereveye gre boyutlandrabilirsiniz.
Image1.PictureSizeMode=1- fmPictureSizeModeStretch
gibi.
13
rnek uygulamada form zerine bir adet SpinButton, bir adet ScrollBar, iki adet label nesnesi,
iki adet TextBox nesnesi yerletirelim. Label nesnelerinin Caption zelliini ekran grntsndeki gibi deitirelim. TextBox nesnelerinin BackColor zelliini kullanarak renklendirelim.
SpinButton nesnesine tklandka deer deiecektir. Bu deeri TextBox1 deeri olarak tanmlayalm.
14
ScrollBar nesnesine tklandka deer deiecektir. Bu deeri TextBox2 deeri olarak tanmlayalm.
imdi sra geldi kod yazmaya:
SpinButton nesnesine tklandka altrlacak procedure aadaki gibi olmaldr.
Private Sub SpinButton1_Change()
TextBox1.Value = SpinButton1.Value
End Sub
ScrollBar nesnesine tklandka altrlacak procedure aadaki gibi olmaldr.
Private Sub ScrollBar1_Change()
TextBox2.Value = ScrollBar1.Value
End Sub
Kodlar yazlp altrldnda aadaki grntye ulaabilirsiniz. Deerleri fareyle deitiriniz.
ScrolBar zerindeki deer noktasn fareyle tutup ekerek de deeri deitirmek mmkndr.
15
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
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
18
19
20
21
22
Form Olaylar
Activate
AddControl
: Kontrol eklendiinde
BeforeDragOver
: Srklemeden nce
BeforeDropOrPaste
BeforeUpdate
: Gncellemeden nce
Click
Change
DblClick
DeActivate
DropButtonClick
Error
Initialize
: Balatldnda
KeyDown
: Tu aa indiinde
KeyPress
KeyUp
: Tu yukar kalktnda
Layout
: Dzenlendiinde
MouseDown
MouseMove
MouseUp
QueryClose
: Sorgu kapandnda
23
: Kontrol kaldrldnda
Resize
Scroll
: Kaydrldnda
Terminate
: Form kapatldnda
Zoom
: Bytme/Kltme yapldnda
Kontrol(Nesne) Olaylar
AfterUpdate
: Gncelleme sonrasnda
BeforeDragOver
: Srklemeden nce
BeforeDropOrPaste
Click
DblClick
Enter
Error
: Hata olduunda
Exit
: kldnda
KeyDown
: Tua aa indiinde
KeyPress
KeyUp
: Tu yukar kalktnda
MouseDown
MouseMove
24
Scroll
: Kaydrldnda
SpinDown
: Aa dn yapldnda
SpinUp
: Yukar dn yapldnda
AddinInstall
: Eklenti kurulduunda
AddinUninstall
: Eklenti kaldrldnda
AfterSave
: Kaydettikten sonra
AfterXmlExport
AfterXmlImport
BeforeClose
: Kapatmadan nce
BeforePrint
: Yazdrmadan nce
BeforeSave
: Kaydetmeden nce
BeforeXmlExport
BeforeXmlImport
DeActivate
NewChart
NewSheet
25
PivotTableCloseConnection
PivotTableOpenConnection
RowSetComplete
SheetActivate
SheetBeforeDoubleClick
SheetBeforeRightClick
SheetCalculate
SheetChange
SheetDeActivate
SheetFollowHyperlink
SheetPivotTableAfterValueChange
SheetPivotTableUpdate
SheetSelectionChange
:Seim deitiinde
Sync
:Senkronize
WindowActivate
: Pencere etkinletiinde
WindowDeActivate
: Pencere pasifletiinde
26
BeforeDoubleClick
BeforeRightClick
Calculate
: Hesaplandnda
Change
: Deitiinde
DeActivate
: Pasif olduunda
FollowHyperlink
: Kpr izlendiinde
PivotTableAfterValueChange
PivotTableBeforeAllocateChange
PivotTableBeforeCommitChange
PivotTableBeforeDiscardChange
PivotTableChangeSync
PivotTableUpdate
SelectionChange
27
rnekler :
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox "ift tklama yaptnz"
End Sub
Private Sub UserForm_Resize()
MsgBox UserForm1.Width
End Sub
Private Sub UserForm_Terminate()
MsgBox "program kapattnz."
End Sub
Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As
Single, ByVal Y As Single)
MsgBox "1. Text kutusu zerindesiniz"
End Sub
Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As
Single, ByVal Y As Single)
MsgBox "1. Etiket zerindesiniz"
End Sub
Private Sub CommandButton2_Click()
UserForm1.Zoom = TextBox1.Value
End Sub
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,
ByVal X As Single, ByVal Y As Single)
MsgBox "1. Komut Butonu zerindesiniz"
End Sub
Private Sub Workbook_Open()
UserForm1.Show
End Sub
28
29
30
31
32
res1.jpg
res2.jpg
res3.jpg
33
A1 hcresine res1, res2, res3 yazarak Enter tuuna basldnda resim deiecektir. Resimler
buradaki kodlara gre D:\Yedek3\ex-makro klasrnde bulunmaktadr. Deiiklik yaparak istediiniz klasrdeki resimleri grntleyebilirsiniz.
34
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
36
37
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 kitaplarnda kullanlabilir.
EKLENTLER KULLANIMA AMAK
Eklentileri kullanma amak iin Gelitirici sekmesinde bulunan Eklentiler simgesine tklaynz ve
kaydettiiniz eklenti dosyanz iaretleyiniz.
FONKSYON HAZIRLAMA
Function KUPKOK(SAYI As Integer)
KUPKOK = SAYI ^ (1 / 3)
End Function
38
39
40
X-Y Dalm Grafii butonuna atanan makroyu altrmak iin tklamak gerekmektedir.
41
42
43
44