Giriş Kutusu her zaman bir dize (string) döndürür fakat giriş kutusunun sonucunu bir hücreye yazarsanız, Excel, yanıtı otomatik olarak doğru türe dönüştürür. Örneğin, eğer bir sayı girerseniz Excel bunu hücrede bir sayı olarak tanıyacaktır.
Cevabı kodunuzda kullanmak istiyorsanız ve cevabın bir sayı olması gerekiyorsa, dönüştürme fonksiyonu kullanarak sonucu bir sayıya dönüştürmeniz gerekir. Örneğin Val işlevi kullanarak. Girişin bir sayı olup olmadığını doğrulamak için IsNumeric işlevini kullanabilirsiniz.
Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin:
1. İlk olarak, Variant türünde "giris" değişkenini tanımlayın.
1. İlk olarak, Variant türünde "giris" değişkenini tanımlayın.
Dim giris As Variant
Not: Burada Variant türünde bir değişken kullanıyoruz çünkü bir Variant değişkeni herhangi bir değer türünü tutabilir. Bu şekilde kullanıcı metin, sayı vb. girebilir.
2. Giriş kutusunu göstermek için aşağıdaki kod satırını ekleyin.
3. myValue değerini A1 hücresine yazın.
Kullanıcı 35 değerini girdiğinde ve Tamam düğmesini tıkladığında sonuç.
4. InputBox işlevinin daha fazla isteğe bağlı argümanı vardır. Aşağıdaki kod satırı, başlık çubuğunda görüntülenen ve varsayılan bir değere sahip olan bir giriş kutusu gösterir. Başka bir giriş sağlanmazsa varsayılan değer kullanılacaktır.
Kullanıcı herhangi bir değer girmeyip yalnızca Tamam düğmesini tıkladığında sonuç:
Not: İmlecinizi Visual Basic Düzenleyicisi'ndeki InputBox'a getirin ve diğer isteğe bağlı bağımsız değişkenlerle ilgili yardım için F1'e tıklayın.
2. Giriş kutusunu göstermek için aşağıdaki kod satırını ekleyin.
giris = InputBox("Herhangi bir değer girin")
3. myValue değerini A1 hücresine yazın.
Range("A1").Value = giris
Kullanıcı 35 değerini girdiğinde ve Tamam düğmesini tıkladığında sonuç.
4. InputBox işlevinin daha fazla isteğe bağlı argümanı vardır. Aşağıdaki kod satırı, başlık çubuğunda görüntülenen ve varsayılan bir değere sahip olan bir giriş kutusu gösterir. Başka bir giriş sağlanmazsa varsayılan değer kullanılacaktır.
giris = InputBox("Herhangi bir değer girin", "Merhaba", 82)
Not: İmlecinizi Visual Basic Düzenleyicisi'ndeki InputBox'a getirin ve diğer isteğe bağlı bağımsız değişkenlerle ilgili yardım için F1'e tıklayın.
Tüm kodlar
Private Sub CommandButton1_Click()
Dim giris As Variant
giris = InputBox("Herhangi bir değer girin", "Merhaba", 82)
Range("A1").Value = giris
End Sub
Örnek:
Sub VBA_basit_InputBox()
Dim cevap As String
cevap = VBA.InputBox("Lütfen Giriş Yapın", "Giriş...")
If cevap = "" Then Exit Sub
'sayfaya uygun formatta geri yazma
Range("A2").Value = Excel.WorksheetFunction.Proper(cevap)
End Sub
Örnek:
Sub VBA_InputBox() 'Her müşteri adı girildiğinde alt satıra ekler Dim MusteriAdi As String Dim SonrakiSatir As Long MusteriAdi = VBA.InputBox("Lütfen Müşteri Adı girin", "Müşteri Girişi") SonrakiSatir = Cells(Rows.Count, 1).End(xlUp).Row + 1 'sayfaya uygun formatta geri yazma Range("A" & SonrakiSatir).Value = Excel.WorksheetFunction.Proper(MusteriAdi) End Sub