Bu öğretici, VBA Giriş Kutusu ile bir kullanıcıdan nasıl girdi alınacağını gösterecektir.
NS VBA Giriş Kutusu kullanıcıdan bilgi girmesini istememizi sağlar. Bilgiler daha sonra VBA Kodumuzda veya bir Excel çalışma sayfasında kullanılabilir.
Değişkenli VBA Giriş Kutusu
VBA kodumuzda, Girdi Kutusuna yazılan bilgileri depolayan bir değişken tanımlayabiliriz. Daha sonra bu değişkeni kodumuzda kullanabiliriz.
Giriş kutusundan döndürülmesini istediğimiz bilgi türüne bağlı olarak, metin döndürmek (bir dize veya değişken değişken) veya bir sayı döndürmek (tamsayı, uzun, çift veya tek değişken) için belirli bir değişken türü bildirebiliriz.
Giriş Kutulu Dize Değişkeni
Verilerin bir dize değişkenine döndürüldüğü bir InputBox nasıl oluşturabileceğiniz aşağıda açıklanmıştır.
123 | Dize olarak strInput'u karartstrInput = InputBox("Bu benim InputBox'ım", "MyInputTitle", "Giriş metninizi BURAYA girin") |
İlk önce bir değişken tanımladığımıza dikkat edin. Bu değişkene kullanıcının girdiği değer atanacaktır. Giriş kutusunun metin dizelerini (herhangi bir alfa sayısal karakter içeren) kabul etmesi için String değişken tipini kullandık.
Giriş Kutulu Sayı Değişkeni
Bir sayı değişkeni bildirirseniz, yalnızca giriş kutusuna bir sayı girmeniz gerekecektir.
12 | iInput'u Tamsayı Olarak DimiInput = InputBox("Lütfen bir sayı girin", "Fatura Numarası Oluşturun", 1) |
İlk önce sayı değişkenini bir tamsayı değişkeni olarak tanımlıyoruz. Daha sonra giriş kutusuna varsayılan 1 değerini de koyabiliriz.
Bir sayı yerine bir karakter dizisi girip Tamam'a tıklasaydık, sayı değişkeni bir dize kabul etmediği için Tür Uyuşmazlığı Hatası alırdık.
Bir Kullanıcıdan Girdi Alın
Bir InputBox'ın en popüler özelliklerini kullanan başka bir örnek.
Aşağıdaki kod üç şey yapar:
1. Bir InputBox ile giriş ister ve onu bir değişkene atar
2. Girişi doğrular, aksi takdirde alttan çıkar
3. Bir mesaj kutusundaki girişi döndürür
12345678910111213 | Genel Alt MyInputBox()MyInput As StringMyInput = InputBox("Bu benim InputBox'ım", "MyInputTitle", "Giriş metninizi BURAYA girin")MyInput = "Giriş metninizi BURAYA girin" veya MyInput = "" iseAlt ÇıkışBitirMsgBox "MyInputBox'tan gelen metin " & MyInputAlt Bitiş |
Girdiyi bir Excel Sayfasına döndürme
Bir giriş kutusuna yazdığınız girişi Excel sayfanızdaki belirli bir hücreye döndürebilirsiniz.
1 | Range("P1") = InputBox("Lütfen adınızı giriniz", "Ad Giriniz", "Adı BURAYA giriniz") |
Bir değişken kullanarak girdi verilerini bir Excel Sayfasına da döndürebiliriz.
12345678910 | Alt EnterNumber()Hatada Devam Et SonrakiDim dblAmount As DoubledblAmount = InputBox("Lütfen gerekli miktarı giriniz", "Miktar Giriniz")dblAmount 0 iseAralık("A1") = dblAmountBaşkaMsgBox "Sayı girmediniz!"BitirAlt Bitiş |
Yukarıdaki örnekte bir sayı girmemiz gerekiyor. Bir sayı girersek, değişken dblAmount sayıyı A1 hücresindeki Excel sayfasına koyacaktır. Ancak, bir sayı girmezsek, bir mesaj kutusu bize bir sayı girmediğimizi söyleyecek ve A1 hücresine hiçbir şey girilmeyecektir.
Access VBA'da VBA InputBox'ı kullanma
VBA giriş kutusu, Access'te Excel'de olduğu gibi, kullanıcı girişini bir ileti kutusu biçiminde döndürürken tam olarak aynı şekilde çalışır.
Ancak, kullanıcı girdisini veritabanına döndürmek istiyorsanız, Excel'de kullanıldığı gibi Range nesnesi yerine Recordset nesnesini kullanmanız gerekir.
1234567891011121314 | Alt EnterInvoiceNumber()Veritabanı Olarak Dim dbsÖnce Kayıt Kümesi Olarak Karartdbs'yi ayarla = CurrentDbSet rst = dbs.OpenRecordset("tblMatters", dbOpenDynaset)ilk ile.Yeni ekle!InvNo = InputBox("Fatura Numarasını Giriniz", "FATURA NUMARASI OLUŞTURMA", 1).Güncellemeİle bitmekilk.Kapatİlk olarak ayarla = Hiçbir şeydbs'yi ayarla = Hiçbir şeyAlt Bitiş |