Bu makale, Excel VBA'da UserForms'ta Denetimlerin nasıl kullanılacağını gösterecektir.
VBA, kullanıcının Fatura formları veya İletişim bilgileri gibi etkileşimde bulunabileceği formlar oluşturma yeteneğine sahiptir. Bir form, metin kutuları, Açılan Kutular, Liste Kutuları ve Komut Düğmeleri gibi çeşitli Form Denetimleri içerebilir. Bu makale, Metin Kutuları, Etiketler, Birleşik Kutular, Liste Kutuları, Onay Kutuları ve Seçenek Grupları gibi Kullanıcı formlarında kullanılan en popüler kontrolleri kapsayacaktır.
Excel'de yerleşik kullanıcı formları ve özel kullanıcı formları oluşturma hakkında daha fazla bilgi edinmek için burayı tıklayın.
Kullanıcı Formu Oluşturma
Excel VBA'da bir UserForm oluşturmak için önce VBE Editörü.
Kodunuza yeni bir kullanıcı formu eklemek için Kullanıcı Formu Ekle Menüsünden seçenek.
Yeni bir kullanıcı formu görünecektir. Proje Gezgini ve sağdaki Kod Penceresinde gösterilecektir.
kullanarak formunuzu yeniden adlandırabilirsiniz. Özellikler kutu. Bu, sayfanızın altında görünmelidir Proje Gezgini.
Ne kadar görünürse, Basın F4 veya tıklayın görüş, Özellikler Penceresi.
tıklayın İsim özellik ve formunuzu yeniden adlandırın.
Artık formumuzu kontrollerle doldurmaya başlayabiliriz - metin kutusu kontrolü, etiket kontrolü ve komut düğmesi ile birlikte en popüler kontroldür.
Formu kontrollerle doldurmak için Toolbox'ı açmamız gerekiyor.
İçinde Menü, Seçme Görünüm > Araç Kutusu.
Metin Kutusu Oluşturma
Formunuzda bir Metin Kutusu oluşturmak için Araç Kutusu'ndaki Metin Kutusu denetimini seçin.
Form üzerinde bir kutu şeklini farenizle sol düğmeyi basılı tutarak sürükleyin ve ardından fare düğmesini bırakın.
Bu oluşturduğumuz ilk Metin Kutusu olduğundan, TextBox1 olarak adlandırılacaktır. Formda olduğu gibi, metin kutusunu yeniden adlandırmak için Özellikler penceresini kullanabilirsiniz.
Properties Penceresindeki Name özelliği ile formumuz içerisinde istediğimiz kadar textbox oluşturmaya devam edebilir ve uygun şekilde isimlendirebiliriz.
Etiket Kontrolü Oluşturma
Bir etiket kontrolü, metin kutusunun neyi tutmak için kullanılacağını bize söyler. Bir Metin Kutusu için yaptığınızla aynı şekilde form üzerinde sürüklersiniz ve ardından gerekli metni etiket kontrolüne yazabilirsiniz, örneğin: Ad, aşağıda gösterildiği gibi.
Metin kutularında olduğu gibi, formda gerektiği kadar oluşturmaya devam edin.
Bir Birleşik Giriş Kutusu Denetimi Oluşturma
Bir Combo Box (veya bir açılır kutu), kullanıcının bir değerler listesinden seçim yapmasına izin verir. Bir birleşik giriş kutusu oluşturmak için, Birleşik Giriş Kutusu denetimindeki araç kutusuna tıklayın ve birleşik giriş kutusuna tıklayıp formunuzda sürükleyin.
Combo Box'ı uygun şekilde adlandırın.
Combo Box'a değer ekleme
Değerlerle doldurmak için, içine kodlamamız gerekir. başlat Kullanıcı formu nesnesinin yöntemi.
Formun Arkasındaki Kod'a (CBF) ulaşmak için, forma çift tıklayın veya kod görünümüne geçmek için Proje Gezgini'ndeki kod düğmesine tıklayın.
Soldaki açılır listede Kullanıcı formu'nu seçin ve ardından sağdaki açılır listede Başlat'ı seçin.
Açılır kutuyu doldurmak için Sub ve End Sub içine aşağıdaki kodu yazın:
1234 | Me.cboState.AddItem "Alabama"Me.cboState.AddItem "Alaska"Me.cboState.AddItem "Arizona"Me.cboState.AddItem "Arkansas" |
Tabii ki listeyi ABD'deki diğer eyaletlerle birlikte doldurabiliriz!
Listeyi çalışırken görmek üzere kullanıcı formunu çalıştırmak için 1) form görünümüne geri dönün ve ardından 2) Araç Çubuğunda Çalıştırmak buton.
Listeyi görmek için açılır oka tıklayın.
Açılan Kutuyu doldurmak için Excel'de bir Aralık da kullanabiliriz.
123456 | Özel Alt UserForm_Initialize()Aralık Olarak KarartmaAralıktaki Her Rng İçin("A1:A50")Me.cboState.AddItem rng.Valuesonraki zilAlt Bitiş |
Bu, A1 ila A50 Aralığında saklanan tüm değerleri alacak ve açılır listeyi buna göre dolduracaktır.
Liste Kutusu Kontrolü Oluşturma
List Box denetimi, Combo Box denetimiyle aynı şekilde çalışır, ancak formdaki tüm seçenekleri liste biçiminde görmemizi sağlar.
Araç kutusunda Liste Kutusu denetimini seçin ve ardından formunuzda bir liste kutusu oluşturmak için sürükleyin.
VBA Kodu Örnekleri Aramaktan Bıktınız mı? AutoMacro'yu deneyin!
Liste Kutusuna değer ekleme
Formun Initialize olayına aşağıdaki kodu yazın:
123456 | Özel Alt UserForm_Initialize()Aralık Olarak KarartmaAralıktaki Her Rng İçin("A1:A50")Me.lstState.AddItem rng.Valuesonraki zilAlt Bitiş |
Formu çalıştırdığımızda aşağıdaki resimde gösterildiği gibi liste kutusu görüntülenecektir:
Onay Kutusu Denetimi Oluşturma
Onay Kutuları, kullanıcının bir seçeneği işaretlemesini veya işaretini kaldırmasını sağlar.
Onay Kutusu denetimini seçin ve ardından formda gitmesini istediğiniz yere tıklayın.
Özellikler Penceresindeki Onay Kutusunun başlığını ve adını değiştirin.
Seçenek Düğmeleri ile Seçenek Grubu Kontrolü Oluşturma
Bir Seçenek Grubu, kullanıcının bir dizi mevcut seçenek arasından seçim yapmasına izin verir. Bir seçenek grubu oluşturmanın ilk adımı, forma bir Çerçeve Kontrolü eklemek ve ardından eklenen çerçeve içine Seçenek Düğmelerini eklemektir. Bunu yaparak, formu çalıştırdığımızda çerçeve içindeki Seçenek Butonlarından aynı anda sadece bir tanesinin seçilebilmesini sağlıyoruz.
Araç kutusunda Çerçeve denetimini seçin ve ardından formunuzda bir çerçeve oluşturmak için sürükleyin.
Araç kutusundaki Seçenek Düğmesi denetimini seçin ve ardından çerçeveye seçenek düğmesi eklemek için yukarıda oluşturulan çerçeve İÇERİSİNE tıklayın. Gerektiği kadar tekrarlayın.
Çerçeveye tıklayın ve 1) çerçevenin ve Altyazının adını değiştirin. Ardından 2) seçenek düğmelerinin her birine tıklayın ve Altyazıyı değiştirin.
Formdan Çıkmak için Komut Düğmesi Oluşturma
Bu aşamada formu kapatmanın tek yolu, form kontrol çubuğunun sağ köşesindeki kapat düğmesini kullanmaktır. Bir formdan çıkmanın daha etkili ve üzerinde daha fazla kontrole sahip olduğumuz bir yol, form üzerinde bir Çıkış düğmesi oluşturmaktır. Bu, Araç Kutusundaki Komut Düğmesi Kontrolü aracılığıyla yapılır.
Komut Düğmesi denetimini seçin ve ardından düğmeyi oluşturmak için formunuzda tıklayıp sürükleyin.
Altyazı Özelliğini kullanarak komut düğmesinin başlığını Tamam olarak ve Hızlandırıcıyı “O” olarak değiştirin.
Hızlandırıcının amacı, kullanıcının düğmeyi etkinleştirmek için klavyeyi kullanmasıdır, bu durumda Alt+O düğmeyi etkinleştirirdi.
Harika ürün. AutoMacro sadece kodunuzu yazmaz, ilerledikçe öğretir!" - Tony, İngiltere
Daha fazla bilgi edin900+ İncelememizi okuyun
Komut Düğmesine Kod Ekleme
Komut butonunun çalışması için arkasına kod eklememiz gerekiyor ki butona tıklandığında kod çalışsın. Buna düğmenin Click olayı denir.
Click olayına ulaşmak için formun tasarım görünümündeki butona çift tıklayın.
1) Komut düğmeleri için en yaygın olarak kullanılan olay olduğundan, Click olayı otomatik olarak oluşturulacaktır.
2) Sağ taraftaki Prosedür açılır kutusuna tıklasaydık, Komut Düğmesi için mevcut olan tüm Olay Yöntemlerinin bir listesini görürdük. Farklı kontrol türleri için farklı olaylar mevcut olduğundan, bu liste oluşturduğumuz kontrol türüne göre değişir.
Komut düğmesinin tıklama olayına aşağıdaki kodu yazın.
123456789101112131415 | Özel Alt cmdOK_Click()Range("E1") = Me.txtFirstnameRange("E2") = Me.txtSoyadıRange("E3") = Me.txtCellPhoneAralık("E4") = Me.cboStateMe.ckContactInfo = True iseRange("E5") = "SMS'e izin verilir"BaşkaRange("E5") = "SMS'e izin verilmiyor"BitirMe.opt1.Value = True ise Range("E6") = Me.opt1.CaptionMe.opt2.Value = True ise Range("E6") = Me.opt2.CaptionMe.opt3.Value = True ise Range("E6") = Me.opt3.CaptionBeni KaldırAlt Bitiş |
Ardından formu çalıştırabilir, metin kutularını doldurabilir ve açılır listeden seçim yapabiliriz. Daha sonra bilgileri Excel'e girmek için Tamam'a tıklıyoruz.