Bu yazıda VBA kullanıcı formlarının temellerini öğreneceğiz. 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 konuyu bir örnek ve adım adım kılavuz kullanarak inceleyeceğiz. Bunu okuyorsanız, Excel VBA'nın temellerini bildiğinizi varsayıyorum.
Daha fazla gecikmeden, başlayalım.
Excel'de Yatırım Formu Oluşturun ve Kaydı Saklayın
Kullanıcı formunu tasarlayarak başlayacağız. Bu kullanıcı formunda ad için bir, yaş için bir, yatırım tutarı için bir metin kutusu ve cinsiyet için bir çift radyo butonumuz olacak. Hadi başlayalım.
Kullanıcı formunu tasarlayın
- ALT+F11 kısayolunu kullanarak görsel temel düzenleyiciyi excel'de açın. Proje Kutusunda, sağ tıklayın VBAProjesi(dosyanız). İçinde sokmak seçenek, seç Kullanıcı Formu.
- Hemen yeni bir klasör oluşturulacak ve kullanıcı formunuz onların içinde bulunacaktır. Bu proje için tüm kullanıcı formları bu klasöre eklenecektir.
- Formun adını aşağıdaki pencerede InvestmentForm olarak değiştirin. özellik kutusu.
- Forma öğeler ekleyin: Yukarıdaki resimde zaten öğeler ekledim (etiketler, metin kutusu, komut düğmesi). Ancak yeni bir kullanıcı formu tamamen boştur. Formunuza eleman eklemek için araç kutusunu kullanmanız gerekir. Araç kutusunu göremiyorsanız, şuradan edinin: görüş sekme.
- Ad Öğeleri: Metin kutusu, etiketler, düğmeler vb. öğelerin tümü öğelerdir. Ve bunları VBA kodunda kullanabilmek için onlara isim vermemiz gerekiyor. Adlarını değiştirmek için özellik penceresini kullanıyoruz.
- Öğeyi seçin. Burada isim için metin kutusunu seçiyorum. Özellik penceresine gidin ve adı “ olarak değiştirin.İsim kutusu”. Kullanacağınız her eleman için aynısını yapın. (tıklanabilir olmalarını istemediğiniz sürece etiketleri adlandırmanıza gerek yoktur.)
Özellik kutusu, proje gezgininin sol alt kısmında gösterilir. Göremiyorsanız, görüntülemek için gidin ve tıklayın Özellikler Penceresi. Onu çok kullanacağız, bu yüzden orada olduğundan emin olun. Formların şekillendirilmesi, adlandırılması ve özelleştirilmesi için kullanılır.
Açıklayıcı adlar için araç kutusunu kullanarak etiketler ekleyin. Kullanıcı girişleri için metin kutusu ekleyin.
İki radyo düğmesi ekleyin ve bunları Erkek ve Kadın olarak adlandırın.
Onları kapsüllemek için bir çerçeve kullandım, ancak gerekli değil.
Komut düğmeleri ekle Sunmak ve iptal etmek Verilen girişte işlem yapmak için.
Elemanı aşağıdaki tablo gibi yeniden adlandırdım ve bu isimleri onlara atıfta bulunmak için kullanacağım. Farklı isimlere sahip olabilirsiniz. Sadece bu isimleri kendi adınızla değiştirin. Bunlar, kodda kullanılacak VBA adlarıdır (kod adı). Forma yansımazlar.
Etiketlerde ve butonlarda görebileceğiniz metin “Alt Yazılar”dır. İsterseniz öğenin adı ve başlığı aynı olabilir.
eleman | Yeniden isimlendirmek |
Ad Metin Kutusu | İsim kutusu |
Yaş Metin Kutusu | Yaş Kutusu |
Erkek Seçenek Düğmesi | ErkekSeçenek |
Kadın Seçenek Düğmesi | KadınSeçenek |
Yatırım Metin Kutusu | Yatırım Kutusu |
Komut Gönder Düğmesi | GönderDüğmesi |
Komut Düğmesini İptal Et | İptal Düğmesi |
- Kullanıcı Formunu Kullanıcıya Göster: Artık form hazır, kullanıcıya gösterelim. Ama bekle, bunu nasıl yapacağım. Çalışma sayfasında kullanıcı formunu çağırma seçeneği yoktur.
- Bir çalışma sayfasında geliştiriciler sekmesine git? Sokmak? Düğme (form kontrolü). Açık form olarak yeniden adlandırın.
- Üzerine sağ tıklayın. Makro ata'ya tıklayın ve ardından yeni'ye tıklayın.
- Hemen bir alt oluşturulacaktır. Şimdi bu satırı bu alt kısma ekleyin.
Aslında, kullanıcı formunun tetikleyiciye ihtiyacı var. Tek başına gösterilemez. Ekranda formun açılmasını sağlamak için bir komut düğmesi, bir alt program veya bir olay kullanabilirsiniz.
Burada kullanıcı formunu tetiklemek için bir komut düğmesi kullanacağım.
Sub Open_Form() 'Açılış formu InvestmentForm.Show End Sub
Tamamdır. O sayfaya geri dönün ve düğmesine tıklayın. Kullanıcı formu açılacaktır.
- VBA kullanıcı formunu kullanarak sayfa doldurun: Komut düğmesine (formu aç) tıkladığımızda form açılır. Şimdi formu doldurabilirsiniz. Ancak gönder düğmesine tıkladığımızda bu sayfaya veri girilmiş olması gerekirdi ama hiçbir şey olmuyor.
Çünkü bunun için herhangi bir vba talimatı yazmadık. Kullanıcı formu verilerini sayfaya kaydetmemiz gerekiyor.
- VBA'ya geri dönün ve üzerine çift tıklayın. Göndermek buton. Otomatik olarak yeni bir alt oluşturulacaktır. Bu alt formda gömülüdür ve hiçbir modülde bulamazsınız. Bu, formun her öğesi için aynıdır.
- Bu alt bölüme bu vba kodunu yazın.
Private Sub SubmitButton_Click() Sheet1.Activate 'sayfadaki ilk boş satırı al (bu konuyu buradan okuyun) lstrow = Cells(Rows.Count, 1).End(xlUp).Row Set firstEmptyRow = Range("A" & lstrow + 1 ) 'her hücreyi firstEmptyRow.Offset(0, 0) verileriyle başlat.Value = nameBox.Value 'first cell firstEmptyRow.Offset(0, 1).Value = AgeBox.Value 'sağdaki ilk hücre firstEmptyRow.Offset(0, 3).Value = InvestBox.Value 'sağdaki üçüncü hücre' radyo düğmesi kontrol ediliyor If MaleOption.Value = True Sonra firstEmptyRow.Offset(0, 2).Value = "Male" 'sağdan ikinci hücre Else firstEmptyRow.Offset( 0, 2).Value = "Kadın" 'sağdaki ikinci hücre End If 'Kapanış formu Unload Me End Sub
VBA kodunun yukarıdaki pasajı, gönder düğmesine tıklandığında çalışır. Sayfadaki ilk boş satırı bulur ve formda sağlanan değerlerle doldurur. Ve sonunda “Unload Me” komutunu kullanarak formu kapatır.
- Formu kapatmak için İptal komutunu kullanın. Şimdilik, iptal düğmesi işe yaramaz. Hiçbir şey yapmıyor. Girişi iptal etmek isterseniz iptal butonunu kullanabilirsiniz. Bu durumda:
VBA düzenleyicide komut iptal düğmesine çift tıklayın. Yeni bir alt oluşturulacak. Kullanıcı formunu kapatmak için bu kod satırını yazmanız yeterlidir.
Private Sub CancelButton_Click() 'Kapanış formu Unload Me End Sub
Son olarak form kodu aşağıdaki gibi olacaktır.
Ve bu kadar. Kullanıcılardan girdi almak için excel vba kullanıcı formunu bu şekilde kullanırsınız. Bu makalede, aşina olmanız için userform'un temel kullanımını araştırdık. Temel vba bilginiz varsa, basittir.
Gelecek makalelerde, Excel'deki vba kullanıcı formlarının daha gelişmiş işlevlerini keşfedeceğiz. Daha fazlasını yapmak için excel'de userform oluşturacağız. vba kullanıcı formunun kullanabileceği farklı araçları ve öğeleri keşfedeceğiz. O zamana kadar bunu uygula. Dilerseniz bu dosyayı referans olarak indirebilirsiniz.
Evet arkadaşlar, bu küçük ve basit bir kullanıcı formu öğreticisiydi. Umarım becerikli olmuştur. Bununla ilgili herhangi bir şüpheniz varsa bana bildirin, aşağıdaki yorumlar bölümünde bana bildirin.
İlgili Makaleler
Excel'de VBA kullanarak birkaç UserForm denetiminin değerini/içeriğini değiştirin
Excel'de VBA kullanarak kullanıcı x düğmesine tıkladığında bir kullanıcı formunun kapanmasını önleyin
Excel'de kullanıcı formunun RefEdit kontrolünü kullanarak kullanıcı tarafından başvurulan hücreleri döndür
Popüler Makaleler:
Excel'de DÜŞEYARA İşlevi
Excel 2016'da EĞERSAY
Excel'de SUMIF İşlevi Nasıl Kullanılır