Excel'de VBA Denetimleri: Form ve ActiveX
โก Akฤฑllฤฑ รzet
Excel'deki VBA Denetimleri, dรผฤmeler, onay kutularฤฑ ve metin kutularฤฑ gibi grafiksel bir kullanฤฑcฤฑ arayรผzรผ oluลturan etkileลimli รถฤelerdir. Bu sayfa, Form denetimlerini, ActiveX denetimlerini, iki ailenin nasฤฑl farklฤฑlaลtฤฑฤฤฑnฤฑ ve adฤฑm adฤฑm bir ActiveX komut dรผฤmesi รถrneฤini aรงฤฑklamaktadฤฑr.

VBA Kontrolleri: Excel'de VBA Form Kontrolรผ ve ActiveX Kontrolleri
Excel'de VBA Formu/GUI kontrolleri
GUI, Grafiksel Kullanฤฑcฤฑ Arayรผzรผ'nรผn kฤฑsaltmasฤฑdฤฑr. GUI, kullanฤฑcฤฑnฤฑn etkileลime girdiฤi programฤฑn parรงasฤฑdฤฑr. Bir GUI, kontrollerden oluลur. Bu Excel VBA kontrolleri bir Form'da kullanฤฑlabilir. Aลaฤฤฑdaki tablo en sฤฑk kullanฤฑlan GUI VBA kontrollerinden bazฤฑlarฤฑnฤฑ gรถstermektedir.
| S / N | Control | Aรงฤฑklama |
|---|---|---|
| 1 | Komuta | Kodu รงalฤฑลtฤฑrmak iรงin kullanฤฑlฤฑr |
| 2 | kombo Box | Kullanฤฑcฤฑlara aรงฤฑlฤฑr liste sunmak iรงin kullanฤฑlฤฑr |
| 3 | Kontrol Box | True veya false deฤerleri iรงin kullanฤฑlฤฑr. Birden fazla onay kutusu aynฤฑ anda true deฤerine sahip olabilir. |
| 4 | Liste Box | Kullanฤฑcฤฑlara basit bir liste sunmak iรงin kullanฤฑlฤฑr |
| 5 | Metin Box | Kullanฤฑcฤฑ giriลini kabul etmek iรงin kullanฤฑlฤฑr |
| 6 | Kaydฤฑrma รงubuฤu | Gezinme amacฤฑyla kaydฤฑrma รงubuฤu saฤlamak iรงin kullanฤฑlฤฑr. |
| 7 | Dรถndรผrme Dรผฤmesi | Dรถndรผrme dรผฤmesinde gรถrรผnen yukarฤฑ veya aลaฤฤฑ oklara tฤฑklayarak sayฤฑsal deฤerleri artฤฑrmak veya azaltmak iรงin kullanฤฑlฤฑr |
| 8 | Seรงenek tuลu | Doฤru veya yanlฤฑล deฤerler iรงin kullanฤฑlฤฑr. Aynฤฑ anda yalnฤฑzca bir seรงenek dรผฤmesi gerรงek deฤere sahip olabilir. |
| 9 | etiket | Kullanฤฑcฤฑya statik metin gรถrรผntรผlemek iรงin kullanฤฑlฤฑr |
| 10 | Resim | Resimleri gรถrรผntรผlemek iรงin kullanฤฑlฤฑr |
| 11 | Toggle Dรผฤme | Basฤฑlฤฑ ve basฤฑlmamฤฑล durumdaki dรผฤme. |
VBA GUI kontrolรผnde,
- Geliลtirici sekmesine tฤฑklayฤฑn
- Aรงฤฑlan Ekle dรผฤmesine tฤฑklayฤฑn
Aลaฤฤฑdaki aรงฤฑlฤฑr paneli gรถreceksiniz
Fareyi VBA form kontrollerinin รผzerine getirirseniz kontrolรผn adฤฑ aลaฤฤฑda gรถsterildiฤi gibi gรถrรผnecektir.
Bir e-tabloya GUI kontrolleri ekleme
ลimdi รงalฤฑลma kitabฤฑmฤฑza bir komut dรผฤmesi ekleyeceฤiz, bunun iรงin
- Ekle aรงฤฑlฤฑr menรผsรผne tฤฑklayฤฑn
- Yukarฤฑdaki resimde gรถsterildiฤi gibi Komut Dรผฤmesine (ActiveX Kontrolรผ) tฤฑklayฤฑn
- Dรผฤmeyi sayfaya sรผrรผkleyip รงizin
GUI kontrol รถzelliklerini ayarlama
Artฤฑk dรผฤmenin baลlฤฑฤฤฑnฤฑ daha aรงฤฑklayฤฑcฤฑ bir ลekilde ayarlayacaฤฤฑz
- Az รถnce oluลturduฤumuz eลitle dรผฤmesine saฤ tฤฑklayฤฑn
- รzellikler menรผsรผnรผ seรง
- Aลaฤฤฑdaki รถzellikler penceresini gรถreceksiniz
- name รถzelliฤini btnButton olarak ayarlayฤฑn. Name รถzelliฤi, kod penceresindeki kontrolรผ tanฤฑmlamak iรงin kullanฤฑlฤฑr. btn dรผฤmenin รถnekidir.
- Altyazฤฑ รถzelliฤini Beni Tฤฑkla olarak ayarlayฤฑn. Altyazฤฑ รถzelliฤindeki metin, kullanฤฑcฤฑlarฤฑn dรผฤmede gรถreceฤi metindir.
ฤฐลiniz bittiฤinde pencereyi kapatฤฑn.
Aลaฤฤฑdaki sonuรงlarฤฑ elde edeceksiniz.
Form Denetimleri ve ActiveX Denetimleri Arasฤฑndaki Fark
Excel iki farklฤฑ denetim ailesi sunar ve doฤru olanฤฑ seรงmek bir projeyi basitleลtirir. Form denetimleri Excel'e yerleลiktir ve tek bir atanmฤฑล makro รงalฤฑลtฤฑrฤฑrken, ActiveX denetimleri VBA kodu aracฤฑlฤฑฤฤฑyla birรงok olaya yanฤฑt veren programlanabilir nesnelerdir. Aลaฤฤฑdaki tablo ikisini karลฤฑlaลtฤฑrmaktadฤฑr.
| รzellik | Form Denetimleri | ActiveX Denetimleri |
|---|---|---|
| Kurmak | รok basit; kontrole tek bir makro atayฤฑn. | Yanฤฑt vermek iรงin VBA olay koduna ihtiyaรง duyar. |
| Emlaklar | Sฤฑnฤฑrlฤฑ seรงenekler kรผmesi | Yazฤฑ tipi, renk ve davranฤฑล dahil olmak รผzere kapsamlฤฑ. |
| Etkinlikler | Tฤฑklama รผzerine tek iลlem | Click, Change ve GotFocus gibi birรงok etkinlik |
| uygunluk | Eserleri Windows ve Mac Excel | Eserleri Windows Sadece Excel |
| En uygun | Hฤฑzlฤฑ, basit รงalฤฑลma sayfasฤฑ gรถrevleri | Etkileลimli ve dinamik kullanฤฑcฤฑ formlarฤฑ |
รzetle, tek bir makro yeterli olduฤunda Form denetimi kullanฤฑn ve arayรผzรผn zengin รถzelliklere ihtiyaรง duyduฤu veya birden fazla kullanฤฑcฤฑ olayฤฑna yanฤฑt vermesi gerektiฤi durumlarda ActiveX denetimi seรงin.
รnkoลul
ActiveX รถrneฤini oluลturmadan รถnce, denetimlerin kullanฤฑlabilir olmasฤฑ ve makrolarฤฑn kaydedilebilmesi iรงin รงalฤฑลma kitabฤฑnฤฑ hazฤฑrlayฤฑn.
yapฤฑlandฤฑrma Microsoft Excel
รnceki eฤitimde gรถrdรผฤรผmรผz gibi, ลeridinizin burada gรถsterildiฤi gibi โGeliลtiriciโ simgesine sahip olduฤundan emin olun.
ลimdi sayfa1'i โVBAโ olarak yeniden adlandฤฑrฤฑn OperaAลaฤฤฑdaki ekran gรถrรผntรผsรผnde gรถsterildiฤi gibi "tor" yazฤฑn. รalฤฑลma kitabฤฑnฤฑ Excel Makro Etkinleลtirilmiล รalฤฑลma Kitabฤฑ (*.xlsm) dosya uzantฤฑsฤฑyla kaydedin. (aลaฤฤฑdaki resme bakฤฑn)
Bundan sonra Kaydet butonuna tฤฑklayฤฑn.
VBA'da ActiveX denetimi nasฤฑl kullanฤฑlฤฑr?
รalฤฑลma kitabฤฑ hazฤฑr olduฤuna gรถre, รงalฤฑลan bir ActiveX dรผฤmesi ekleyebiliriz. ActiveX denetimi Excel'in bu bรถlรผmรผnde, VBA'da 'commandclick' dรผฤmesini nasฤฑl entegre edeceฤimizi ve dรผฤmeyi kullanarak bir programฤฑ nasฤฑl รงalฤฑลtฤฑracaฤฤฑmฤฑzฤฑ gรถreceฤiz.
) 1 Adฤฑm Bu adฤฑmda Active X Control'den โdรผฤme ekleโ seรงeneฤine tฤฑklayฤฑn. Daha sonra ondan komut dรผฤmesi seรงeneฤini seรงin.
) 2 Adฤฑm โTฤฑklamakomutdรผฤmesi1โi eklemek iรงin fare imlecini Excel sayfasฤฑna sรผrรผkleyin.
) 3 Adฤฑm Ardฤฑndan komut dรผฤmesine saฤ tฤฑklayฤฑn ve "Gรถrรผntรผle" seรงeneฤini seรงin. Code anlayฤฑลฤฑnฤฑn sonucu olarak, buzdolabฤฑnda iki รผรง gรผnden fazla durmayan kรผรงรผk ลiลeler elinizin altฤฑnda bulunur.
) 4 Adฤฑm Doฤru sayfada olup olmadฤฑฤฤฑnฤฑzฤฑ kontrol edin. Bir kod dรผzenleyici aรงฤฑlacaktฤฑr. Kodunuzu girin.
- Kodda A1 ila A10 aralฤฑฤฤฑnฤฑ tanฤฑmladฤฑk.
- Bu aralฤฑk, Excel sayfasฤฑndaki hรผcre numarasฤฑnฤฑ โA1'den A10'a kadarโ tanฤฑmlar.
- Ardฤฑndan, " dizesini tanฤฑmlฤฑyoruz."Guru"99 VBA Eฤitimi" kodunda
- Yani, Excel'de "komut dรผฤmesine" tฤฑkladฤฑฤฤฑnฤฑzda, ลu รงฤฑktฤฑyฤฑ vermesi gerekir:GuruโA1 ile A10โ hรผcre aralฤฑฤฤฑnda โ99 VBA Eฤitimiโni kullanฤฑn.
) 5 Adฤฑm Bir sonraki adฤฑmda kod dosyasฤฑnฤฑ kaydedin ve ardฤฑndan dรผzenleyiciden รงฤฑkฤฑn. Excel dosyasฤฑna dรถnmek iรงin Excel sayfasฤฑ simgesini tฤฑklayฤฑn aลฤฑrฤฑ solda.
) 6 Adฤฑm Excel sayfasฤฑnda Tasarฤฑm Modu sekmesinin aรงฤฑk olduฤunu gรถreceksiniz. โKAPALIโ olduฤundan emin olun, aksi takdirde kodunuz รงalฤฑลmayacaktฤฑr.
) 7 Adฤฑm Tasarฤฑm modu kapalฤฑyken รผzerinde yeลil bir vurgu olmayacaktฤฑr. Artฤฑk komut dรผฤmesine tฤฑklayabilirsiniz.
) 8 Adฤฑm โCommandButton1โe tฤฑklayฤฑn. โGuruโA1 ile A10โ hรผcre aralฤฑฤฤฑnda โ99 VBA Tutorialโ ifadesini kullanฤฑn.
Yukarฤฑdaki kodu iรงeren Excel'i indirin
VBA'da Sฤฑk Kullanฤฑlan ActiveX Denetim Olaylarฤฑ
ActiveX denetimi gรผรงlรผdรผr รงรผnkรผ kullanฤฑcฤฑnฤฑn denetim รผzerinde gerรงekleลtirdiฤi eylemler olan olaylara tepki verir. Her olay kendi alt programฤฑnฤฑ รงalฤฑลtฤฑrฤฑr, bu nedenle aynฤฑ dรผฤme kullanฤฑcฤฑnฤฑn yaptฤฑฤฤฑ iลlemlere baฤlฤฑ olarak farklฤฑ davranabilir. En yaygฤฑn olaylar aลaฤฤฑda listelenmiลtir.
- Tฤฑkla โ Kullanฤฑcฤฑ kontrolรผ tฤฑkladฤฑฤฤฑnda kodu รงalฤฑลtฤฑrฤฑr; yukarฤฑdaki รถrnekte kullanฤฑlan olay budur.
- Dรผzenle โ Bir kontrolรผn deฤeri deฤiลtiฤinde รงalฤฑลฤฑr, รถrneฤin typing Bir metin kutusunda veya bir aรงฤฑlฤฑr liste รถฤesi seรงerek.
- Odaklandฤฑm / Odaklanmadฤฑm โ Kontrol cihazฤฑ odak kazandฤฑฤฤฑnda veya odak kaybettiฤinde รงalฤฑลฤฑr, girdiyi doฤrulamak iรงin kullanฤฑลlฤฑdฤฑr.
- Tuล Basma โ Kullanฤฑcฤฑ kontrol aktifken bir tuลa bastฤฑฤฤฑnda รงalฤฑลฤฑr.
- Fare Hareketi โ Fare imleci kontrol รถฤesinin รผzerine geldiฤinde รงalฤฑลฤฑr.
- DblTฤฑklama โ Kullanฤฑcฤฑ kontrol รถฤesine รงift tฤฑkladฤฑฤฤฑnda รงalฤฑลฤฑr.
Herhangi bir olay iรงin kod eklemek iรงin Tasarฤฑm Modunu aรงฤฑn, denetim รถฤesine saฤ tฤฑklayฤฑn ve Gรถrรผnรผm'รผ seรงin. CodeArdฤฑndan, kod penceresinin รผst kฤฑsmฤฑndaki aรงฤฑlฤฑr listeden ilgili olayฤฑ seรงin.
















