VBA InputBox - Obțineți intrări de la un utilizator într-o macro - Exemple de cod VBA

Acest tutorial va arăta cum să obțineți intrări de la un utilizator cu caseta de intrare VBA.

The Casetă de intrare VBA ne permite să solicităm utilizatorului să introducă informații. Informațiile pot fi apoi utilizate în codul nostru VBA sau într-o foaie de lucru Excel.

Caseta de intrare VBA cu o variabilă

Putem declara o variabilă în codul nostru VBA care apoi stochează informațiile care sunt introduse în caseta de intrare. Putem folosi această variabilă în codul nostru.

În funcție de tipul de informații pe care dorim să le returnăm din caseta de intrare, putem declara un anumit tip de variabilă fie pentru a returna text (un șir sau o variantă variabilă), fie pentru a returna un număr (o variabilă întreagă, lungă, dublă sau simplă).

Variabila de șir cu o casetă de intrare

Iată cum puteți crea un InputBox în care datele sunt returnate într-o variabilă șir.

123 Dim strInput ca ȘirstrInput = InputBox („Acesta este InputBox-ul meu”, „MyInputTitle”, „Introduceți textul de intrare AICI”)

Observați mai întâi că declarăm o variabilă. Această variabilă va primi valoarea introdusă de utilizator. Am folosit tip variabil String pentru ca caseta de intrare să accepte șiruri de text (care include orice caractere alfanumerice).

Variabila numerică cu o casetă de intrare

Dacă declarați o variabilă numerică, va trebui să introduceți un număr numai în caseta de introducere.

12 Dim iInput As IngeriInput = InputBox („Vă rugăm să introduceți un număr”, „Creați un număr de factură”, 1)

Mai întâi declarăm variabila număr ca o variabilă întreagă. Apoi, putem pune și o valoare implicită 1 în caseta de intrare.

Dacă ar fi să introducem un șir în loc de un număr și apoi să facem clic pe OK, am primi o eroare de nepotrivire de tip, deoarece o variabilă numerică nu acceptă un șir.

Obțineți intrări de la un utilizator

Iată un alt exemplu care folosește cele mai populare caracteristici ale unui InputBox.

Următorul cod face trei lucruri:

1. Solicită intrarea cu un InputBox și îl atribuie unei variabile

2. Verifică intrarea, altfel iese din sub

3. Returnează intrarea într-o casetă de mesaj

12345678910111213 Public Sub MyInputBox ()Dim MyInput As StringMyInput = InputBox („Aceasta este InputBox-ul meu”, „MyInputTitle”, „Introduceți textul de intrare AICI”)Dacă MyInput = "Introduceți textul de intrare AICI" Sau MyInput = "" AtunciIeșiți din SubEnd IfMsgBox „Textul din MyInputBox este„ & MyInputSfârșitul Sub

Revenirea intrării la o foaie Excel

Puteți returna intrarea pe care o tastați într-o casetă de intrare într-o anumită celulă din foaia dvs. Excel.

1 Range ("P1") = InputBox ("Vă rugăm să introduceți numele dvs.", "Introduceți numele", "Introduceți numele AICI")

De asemenea, putem returna datele de intrare într-o foaie Excel folosind o variabilă.

12345678910 Sub EnterNumber ()La eroare Reluați în continuareDim dblAmount As DoubledblAmount = InputBox ("Vă rugăm să introduceți suma necesară", "Introduceți suma")Dacă dblAmount 0 AtunciRange ("A1") = dblAmountAltfelMsgBox "Nu ați introdus un număr!"End IfSfârșitul Sub

În exemplul de mai sus, ni se cere să introducem un număr. Dacă introducem un număr, atunci variabila dblAmount va pune numărul în foaia Excel din celula A1. Cu toate acestea, dacă nu introducem un număr, atunci o casetă de mesaj ne va spune că nu am introdus un număr și nimic nu va fi introdus în celula A1.

Utilizarea VBA InputBox în Access VBA

Caseta de intrare VBA funcționează exact în același mod în Access ca și în Excel atunci când returnează intrarea utilizatorului sub forma unei casete de mesaj.

Cu toate acestea, dacă doriți să returnați datele introduse de utilizator în baza de date, va trebui să utilizați obiectul Recordset, mai degrabă decât obiectul Range, așa cum este utilizat în Excel.

1234567891011121314 Sub EnterInvoiceNumber ()Dim dbs ca bază de dateDim rst As RecordsetSetați dbs = CurrentDbSetați rst = dbs.OpenRecordset ("tblMatters", dbOpenDynaset)Cu prima.Adăuga nou! InvNo = InputBox ("Vă rugăm să introduceți numărul facturii", "GENERARE NUMĂR DE FACTURĂ", 1).ActualizațiSe termina cumai întâi ÎnchideSet rst = NimicSet dbs = NothingSfârșitul Sub

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave