Kullanıcıdan bir değer girmesini istemek için Excel VBA’da InputBox işlevini kullanabilirsiniz.

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.
Dim giris As VariantCode language: VB.NET (vbnet)

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.

  1. Giriş kutusunu göstermek için aşağıdaki kod satırını ekleyin.
giris = InputBox("Herhangi bir değer girin")Code language: VB.NET (vbnet)
InputBox (VBA)
  1. myValue değerini A1 hücresine yazın.
Range("A1").Value = girisCode language: VB.NET (vbnet)

Kullanıcı 35 değerini girdiğinde ve Tamam düğmesini tıkladığında sonuç:

InputBox (VBA)
  1. 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)Code language: VB.NET (vbnet)
InputBox (VBA)

Kullanıcı herhangi bir değer girmeyip yalnızca Tamam düğmesini tıkladığında sonuç:

InputBox (VBA)

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 SubCode language: VB.NET (vbnet)

Ö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 SubCode language: VB.NET (vbnet)
InputBox (VBA)

Ö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 SubCode language: VB.NET (vbnet)
InputBox (VBA)
InputBox (VBA)

Yayımlandı

kategorisi

yazarı:

Etiketler: