VBA Excel Kullanıcı Formunda ComboBox Nasıl Kullanılır?

İçindekiler:

Anonim

Bir kullanıcı formundaki birleşik giriş kutusu, mevcut seçeneklerden bir seçenek seçmek için kullanılabilen bir açılır menü gibidir. Çalışma sayfalarında veri doğrulama kullanarak oluşturduğumuz açılır menü gibidir.

Çoğu dijital formda en az bir birleşik giriş kutusu görmüş olmalısınız. Eyaletler listesinden eyalet, ders listesinden ders, ülkeler listesinden ülke vb. seçmek için olabilir. Bu yazıda VBA kullanıcı formuna combobox eklemeyi, nasıl yapılacağını öğreneceğiz. açılan kutuyu değerlerle başlatmak ve açılan kutudan değerin nasıl alınacağı.

Kullanıcı Formuna ComboBox Ekleme

Bir kullanıcı formuna birleşik giriş kutusu eklemek için önce bir kullanıcı formunuz olması gerekir. Ah!.

Bu yüzden CTRL+F11 kullanarak VBE'yi açın. Çalışma kitabına sağ tıklayın, eklemeye gidin ve Userform'a tıklayın. Eklenmiş bir kullanıcı formunuz var. VBA'daki kullanıcı formları hakkında daha fazla bilgiyi buradan okuyabilirsiniz.

Şimdi araç kutusundan açılan kutuyu seçin. En üst sıradaki dördüncü seçenek. Araç kutusunu göremiyorsanız. Menüde Görünüm'e gidin, Araç Kutusu'na tıklayın. Araç kutusu görünecektir.

Bir durum etiketi ekledim çünkü bu birleşik giriş kutusu bazı durumların bir listesini ve formu göndermek için bir gönder düğmesini içerecek.

Kullanıcı formunda bir açılan kutu nasıl başlatılır?

Çoğu insanın hata yaptığı kısım burasıdır. Bazen öğrenciler açılan kutuya değerleri yüklemek için kod yazarlar ve ardından butonları gönderirler. Ve kullanıcı formunu yüklediklerinde, açılan kutu herhangi bir değer göstermiyor.

Combobox'ı yüklemek için kullanıcı formunu yüklemeden önce kodu yazmalısınız. Bu, modülü, c veya formu yüklediğiniz düğmede yapılabilir. Açılan kutu listesini yükleyecek kod, formname.show komutundan önce gelmelidir.

Combobox'ı UserForm Çağırma Alt Programına Yükleme

Diyelim ki durum birleşik giriş kutusundaki bazı dizileri kodlamak istiyorum. Bu yüzden bilgileri doldurmak için kullanıcı formunu yükleyecek bir alt program yazacağım. Aşağıdaki koda bakın.

Sub load_userform() durumları = Array("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = UserForm1.Show End Sub durumunu belirtir 

Hindistan eyaletlerinin birkaç adını içeren bir dizi "durumlar" tanımlıyorum. Combobox userform'un bir parçası olduğu için şimdi combobox'a erişmek için userform adını kullanıyorum.

Kullanıcı formumun adı userform1. Ve combobox'ın adı combobox1. Bunlar varsayılan adlardır. Bunları özellik penceresinden değiştirebilirsiniz.

Ardından, açılan kutunun liste özelliğini durumlarla başlatırım.

Ardından show komutunu kullanarak userform1'i gösteriyorum.

Yukarıdaki kodu çalıştırdığınızda, açılan kutuda listelenen tüm durumlar olacaktır.

Combobox'ı UserForm_Initialize() Olayını Kullanarak Başlatma.

Combobox bileşenlerini userform'a yüklemenin başka bir yöntemi userform Initialize olayını kullanmaktır. Bu olay, kullanıcı formu yüklenmeden önce çalışır. Kullanıcı formu yüklenmeden önce yapmak istediğiniz her şeyi buradan yapabilirsiniz. Bunlardan biri, açılan kutu öğelerini yüklemektir.

Bu nedenle, userform nesnesindeki kodlama alanını açmak için userform'a çift tıklayın. Şimdi soldaki açılır menüden userform'u seçin. Ardından sağdaki açılır menüden başlat'ı seçin.

Boş bir UserForm_Initialize() alt adı eklenecektir. Bu altta yazılan her şey, kullanıcı formu görünmeden önce yürütülecektir.

Bu yüzden combobox için başlatma kodunu buraya yazıyoruz.

Private Sub UserForm_Initialize() durumları = Array("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = End Sub durumları 

Burada userform1.show komutunun olmadığını unutmayın. Hala o modülde. Bu alt, kullanıcı formumuzu ekrana getirmek için kullanılacaktır.

Sub load_userform() UserForm1.End Sub'ı Göster 

Böylece kullanıcılar, bazı komut, düğme veya makro atanmış öğeleri kullanarak load_userform sub çalıştıracaktır. Derleyici userform1.show komutunu çalıştırırken, derhal useforma_initialize() olayını çalıştırır. Daha sonra kullanıcı formunu kullanıcılara gösterir.

Notlar:

Combobox'ı başlatmak için kodu komut düğmesi1 tıklamasında değerlerle yazarsanız, combobox hiçbir şey göstermez.

Açılan kutuyu değerlerle başlatmak için, kullanıcı doldurmak için açılan kutuya ulaşmadan önce meydana gelen herhangi bir olayda onu yükleyin.

ComboBox'tan değer alma

Bu yüzden bazı bilgileri almak için formları kullanıyoruz. Ve bu bilgiyi kullanmak için onları geri almamız gerekiyor. Kullanıcı formu açılan kutusundan herhangi bir değer elde etmek için combobox.value özelliğini kullanırız. Genellikle, kullanıcı formu doldurup gönder düğmesini kullanarak formu gönderdiğinde form öğelerinden değerleri alırız. Böylece commandbutton_click olayını kullanabiliriz. Bu nedenle, bir komut düğmesi ekleyin ve zaten sahip değilseniz, üzerine gönder yazın. Şimdi üzerine çift tıklayın ve commandButton_click olayının içinde olacaksınız.

Şimdi değeri saklamak için bir değişken oluşturun. İsterseniz bir kağıda kaydedin. Son olarak Unload Me komutunu kullanarak formdan çıkın. Aşağıdaki kodda gösterildiği gibi.

Private Sub CommandButton1_Click() State = ComboBox1.Value ThisWorkbook.Workbooks("sheet1").Range("A1") = State Unload Me End Sub 

Evet arkadaşlar, VBA kullanıcı formlarında açılan kutuyu bu şekilde kullanırsınız. Umarım açıklayıcı ve konuya hakim olabilmişimdir. Bu konuyla veya VBA ile ilgili diğer sorularınızla ilgili herhangi bir sorunuz varsa, aşağıdaki yorum bölümünde bana sorun.

Excel VBA UserForms'a Başlarken| Excel'de nasıl form oluşturulacağını, VBA araç kutusunun nasıl kullanılacağını, kullanıcı girdilerinin nasıl ele alınacağını ve son olarak kullanıcı girdilerinin nasıl saklanacağını anlatacağım. Bu konuları bir örnek ve adım adım kılavuz kullanarak inceleyeceğiz.

Excel'de VBA değişkenleri| VBA, Visual Basic for Applications anlamına gelir. Microsoft'tan bir programlama dilidir. MSExcel, MS-Word ve MS-Access gibi Microsoft Office uygulamalarıyla kullanılırken VBA değişkenleri belirli anahtar kelimelerdir.

Excel VBA Değişken Kapsamı| Tüm programlama dillerinde, tanımlanmış bir değişkene nereden erişilebileceğini tanımlayan değişken erişim belirteçlerine sahibiz. Excel VBA İstisna değildir. VBA'nın da kapsam belirleyicileri vardır.

ByRef ve ByVal Argümanları | Bir argüman farklı bir alt veya fonksiyona ByRef argümanı olarak iletildiğinde, gerçek değişkenin referansı gönderilir. Değişkenin kopyasında yapılan herhangi bir değişiklik orijinal argümana yansır.

Microsoft Excel'de VBA kullanarak onay istemleri olmadan sayfaları silin | VBA kullanarak sayfaları sildiğiniz için ne yaptığınızı biliyorsunuz. Excel'e bu uyarıyı göstermemesini ve lanet olası sayfayı silmesini söylemek istersiniz.

Microsoft Excel 2016'da VBA Kullanarak Yeni Çalışma Kitabı Ekleme ve Kaydetme| Bu kodda, önce bir çalışma kitabı nesnesine bir başvuru oluşturduk. Sonra onu yeni bir çalışma kitabı nesnesiyle başlattık. Bu yaklaşımın yararı, bu yeni çalışma kitabında işlemleri kolayca yapabilmenizdir. Kaydetme, kapatma, silme vb.

Excel VBA Durum Çubuğunda Bir Mesaj Görüntüle| Excel'deki durum çubuğu, kod izleyicisi olarak kullanılabilir. VBA kodunuz uzun olduğunda ve VBA'yı kullanarak birkaç görev yaptığınızda, ekranın titrediğini görmemek için genellikle ekran güncellemesini devre dışı bırakırsınız.

Microsoft Excel 2016'da VBA Kullanarak Uyarı Mesajlarını Kapatın| Bu kod yalnızca VBA uyarılarını devre dışı bırakmakla kalmaz, aynı zamanda kodun zaman verimliliğini de artırır. Nasıl olduğunu görelim.

Popüler Makaleler:

Verimliliğinizi Artıracak 50 Excel Kısayolu | Görevinizde daha hızlı olun. Bu 50 kısayol, Excel'de daha da hızlı çalışmanızı sağlayacaktır.

Excel'de DÜŞEYARA İşlevi | Bu, farklı aralıklardan ve sayfalardan değer aramak için kullanılan excel'in en çok kullanılan ve popüler işlevlerinden biridir.

Excel 2016'da EĞERSAY | Bu şaşırtıcı işlevi kullanarak değerleri koşullarla sayın. Belirli değerleri saymak için verilerinizi filtrelemeniz gerekmez. Gösterge tablonuzu hazırlamak için Countif işlevi gereklidir.

Excel'de SUMIF İşlevi nasıl kullanılır? | Bu, başka bir gösterge panosu temel işlevidir. Bu, belirli koşullardaki değerleri özetlemenize yardımcı olur.