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.

  • ๐Ÿงฉ GUI Kontrolleri: DรผฤŸmeler, aรงฤฑlฤฑr listeler, onay kutularฤฑ ve etiketler, kullanฤฑcฤฑnฤฑn รงalฤฑลŸma sayfasฤฑnda etkileลŸimde bulunduฤŸu arayรผzรผ oluลŸturur.
  • ๐Ÿ—‚๏ธ Form Kontrolleri: Tek bir atanmฤฑลŸ makroyu รงalฤฑลŸtฤฑran ve her ikisinde de รงalฤฑลŸan basit kontroller. Windows ve Mac Excel.
  • โš™๏ธ ActiveX Denetimleri: VBA ile kodlanmฤฑลŸ, birรงok รถzellik ve olaya sahip daha zengin kontroller ลŸu adreste mevcuttur: Windows Sadece Excel.
  • ๐Ÿ”ง ร–nkoลŸul: Denetimleri eklemeden รถnce GeliลŸtirici ลŸeridini etkinleลŸtirin ve dosyayฤฑ makro etkinleลŸtirilmiลŸ bir รงalฤฑลŸma kitabฤฑ olarak kaydedin.
  • โ–ถ ๏ธ ActiveX ร–rneฤŸi: Komut dรผฤŸmesi metin dizisini yazdฤฑrฤฑr. Guru99 VBA EฤŸitimi: Tฤฑklama olayฤฑnda A1'den A10'a kadar olan hรผcre aralฤฑฤŸฤฑna veri girme.
  • ๐Ÿ–ฑ๏ธ Olaylar: ActiveX denetimleri, Click, Change ve GotFocus gibi olaylara รถzel alt programlar aracฤฑlฤฑฤŸฤฑyla yanฤฑt verir.

Excel'de VBA Kontrolleri

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,

  1. GeliลŸtirici sekmesine tฤฑklayฤฑn
  2. Aรงฤฑlan Ekle dรผฤŸmesine tฤฑklayฤฑn

AลŸaฤŸฤฑdaki aรงฤฑlฤฑr paneli gรถreceksiniz

Excel'de VBA Formu/GUI kontrolleri

Fareyi VBA form kontrollerinin รผzerine getirirseniz kontrolรผn adฤฑ aลŸaฤŸฤฑda gรถsterildiฤŸi gibi gรถrรผnecektir.

Excel'de VBA Formu/GUI kontrolleri

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 kontrollerini bir Elektronik Tabloya ekleme

GUI kontrol รถzelliklerini ayarlama

Artฤฑk dรผฤŸmenin baลŸlฤฑฤŸฤฑnฤฑ daha aรงฤฑklayฤฑcฤฑ bir ลŸekilde ayarlayacaฤŸฤฑz

GUI Kontrol ร–zelliklerini Ayarlama

  1. Az รถnce oluลŸturduฤŸumuz eลŸitle dรผฤŸmesine saฤŸ tฤฑklayฤฑn
  2. ร–zellikler menรผsรผnรผ seรง
  3. AลŸaฤŸฤฑdaki รถzellikler penceresini gรถreceksiniz

GUI Kontrol ร–zelliklerini Ayarlama

  • 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.

GUI Kontrol ร–zelliklerini Ayarlama

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.

ร–nkoลŸul

ลž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)

ร–nkoลŸul

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.

VBA'da ActiveX kontrolรผnรผ kullanma

) 2 Adฤฑm โ€œTฤฑklamakomutdรผฤŸmesi1โ€i eklemek iรงin fare imlecini Excel sayfasฤฑna sรผrรผkleyin.

VBA'da ActiveX kontrolรผnรผ kullanma

) 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.

VBA'da ActiveX kontrolรผnรผ kullanma

) 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.

VBA'da ActiveX kontrolรผnรผ kullanma

) 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 VBA'da ActiveX kontrolรผnรผ kullanma aลŸฤฑrฤฑ solda.

VBA'da ActiveX kontrolรผnรผ kullanma

) 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.

VBA'da ActiveX kontrolรผnรผ kullanma

) 7 Adฤฑm Tasarฤฑm modu kapalฤฑyken รผzerinde yeลŸil bir vurgu olmayacaktฤฑr. Artฤฑk komut dรผฤŸmesine tฤฑklayabilirsiniz.

VBA'da ActiveX kontrolรผnรผ kullanma

) 8 Adฤฑm โ€œCommandButton1โ€e tฤฑklayฤฑn. โ€œGuruโ€œA1 ile A10โ€ hรผcre aralฤฑฤŸฤฑnda โ€œ99 VBA Tutorialโ€ ifadesini kullanฤฑn.

VBA'da ActiveX kontrolรผnรผ kullanma

Yukarฤฑdaki kodu iรงeren Excel'i indirin

Yukarฤฑdaki Excel dosyasฤฑnฤฑ indirin. Code

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.

SSS

Bir Form denetimi, ona atadฤฑฤŸฤฑnฤฑz tek bir makroyu รงalฤฑลŸtฤฑrฤฑr ve รผzerinde รงalฤฑลŸฤฑr. Windows ve Mac. Bir ActiveX denetimi VBA'da programlanฤฑr, birรงok รถzelliฤŸi ve olayฤฑ ortaya รงฤฑkarฤฑr ve kullanฤฑlabilir durumdadฤฑr. Windows Sadece Excel.

Form ve ActiveX denetimleri iรงin Ekle menรผsรผ, varsayฤฑlan olarak gizli olan GeliลŸtirici ลŸeridinde yer alฤฑr. Dosya, Seรงenekler, ลžeridi ร–zelleลŸtir bรถlรผmรผnden etkinleลŸtirin ve ardฤฑndan GeliลŸtirici seรงeneฤŸini iลŸaretleyin; bรถylece denetimler ve VBA dรผzenleyicisi kullanฤฑlabilir hale gelir.

DรผฤŸme bรผyรผk olasฤฑlฤฑkla hala Tasarฤฑm Modunda olup, GeliลŸtirici sekmesinde yeลŸil bir vurguyla gรถsterilmektedir. Denetimin olay kodunu รงalฤฑลŸtฤฑrmasฤฑ iรงin Tasarฤฑm Modunu kapatฤฑn. ร‡alฤฑลŸma kitabฤฑ ayrฤฑca makro etkinleลŸtirilmiลŸ bir .xlsm dosyasฤฑ olarak kaydedilmelidir.

Evet. Copilot gibi yapay zeka asistanlarฤฑ, tฤฑklama veya deฤŸiลŸtirme alt programฤฑnฤฑ basit bir aรงฤฑklamadan yola รงฤฑkarak yazarlar; รถrneฤŸin, dรผฤŸmeye basฤฑldฤฑฤŸฤฑnda aralฤฑฤŸฤฑ temizle. GeliลŸtirici bunu kontrolรผn kod penceresine yapฤฑลŸtฤฑrฤฑr ve test eder.

Evet. ฤฐhtiyaรง duyduฤŸunuz girdiyi aรงฤฑklayฤฑn ve bir yapay zeka asistanฤฑ, sabit bir liste iรงin aรงฤฑlฤฑr liste veya evet/hayฤฑr deฤŸeri iรงin onay kutusu gibi uygun bir kontrol รถnerir ve temel รถzelliklerinin nasฤฑl ayarlanacaฤŸฤฑnฤฑ aรงฤฑklar.

Bu yazฤฑyฤฑ ลŸu ลŸekilde รถzetleyin: