VBA InputBox - Bir Makroda Kullanıcıdan Girdi Alma - VBA Kodu Örnekleri

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ş

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave