VBA InputBox - Hämta inmatning från en användare i ett makro - Exempel på VBA -kod

Denna handledning visar hur du får input från en användare med VBA Input Box.

De VBA -ingångslåda tillåter oss att uppmana användaren att mata in information. Informationen kan sedan användas i vår VBA -kod eller i ett Excel -kalkylblad.

VBA -inmatningsbox med variabel

Vi kan deklarera en variabel i vår VBA -kod som sedan lagrar informationen som skrivs in i inmatningsrutan. Vi kan sedan använda denna variabel i vår kod.

Beroende på vilken typ av information vi vill ha tillbaka från inmatningsrutan kan vi deklarera en specifik typ av variabel för att antingen returnera text (en sträng eller variantvariabel) eller för att returnera ett tal (ett heltal, lång, dubbel eller enkel variabel).

Strängvariabeln med en inmatningsbox

Så här kan du skapa en InputBox där data returneras till en strängvariabel.

123 Dim strInput som strängstrInput = InputBox ("Detta är min InputBox", "MyInputTitle", "Ange din inmatningstext HÄR")

Lägg märke till först att vi deklarerar en variabel. Denna variabel tilldelas det värde som användaren anger. Vi använde variabel typ String för att inmatningsrutan ska acceptera textsträngar (som innehåller alla alfanumeriska tecken).

Nummervariabeln med en inmatningsbox

Om du deklarerar en talvariabel måste du bara ange ett nummer i inmatningsrutan.

12 Dim iInput som heltaliInput = InputBox ("Ange ett nummer", "Skapa fakturanummer", 1)

Först deklarerar vi talvariabeln som en heltalsvariabel. Vi kan då också sätta ett standardvärde på 1 i inmatningsrutan.

Om vi ​​skulle ange en sträng istället för ett nummer och sedan klicka på OK, skulle vi få ett felmeddelande som inte matchar, eftersom en talvariabel inte accepterar en sträng.

Få inmatning från en användare

Här är ett annat exempel med de mest populära funktionerna i en InputBox.

Följande kod gör tre saker:

1. Frågar om inmatning med en InputBox och tilldelar den en variabel

2. Verifierar inmatning, annars lämnar sub

3. Returnerar ingången i en meddelanderuta

12345678910111213 Public Sub MyInputBox ()Dim MyInput som strängMyInput = InputBox ("Detta är min InputBox", "MyInputTitle", "Ange din inmatningstext HÄR")Om MyInput = "Ange din inmatningstext HÄR" Eller MyInput = "" DåAvsluta SubAvsluta omMsgBox "Texten från MyInputBox är" & MyInputAvsluta Sub

Återställa inmatningen till ett Excel -ark

Du kan returnera inmatningen som du skriver i en inmatningsruta till en specifik cell i ditt Excel -blad.

1 Område ("P1") = InputBox ("Skriv in ditt namn", "Ange namn", "Ange namn HÄR")

Vi kan också returnera indata till ett Excel -blad med hjälp av en variabel.

12345678910 Sub EnterNumber ()Vid fel Återuppta nästaDim dblAmount As DoubledblAmount = InputBox ("Ange önskat belopp", "Ange belopp")Om dblAmount 0 DåOmråde ("A1") = dblAmountAnnanMsgBox "Du har inte angett ett nummer!"Avsluta omAvsluta Sub

I exemplet ovan måste vi ange ett nummer. Om vi ​​anger ett tal, då variabeln dblAmount kommer att lägga numret i Excel -bladet i cell A1. Men om vi inte anger ett nummer kommer en meddelanderuta att berätta att vi inte har angett ett nummer och ingenting kommer att läggas in i cell A1.

Använda VBA InputBox i Access VBA

VBA -inmatningsrutan fungerar exakt på samma sätt i Access som i Excel när du skickar tillbaka användarinmatning i form av en meddelanderuta.

Men om du vill returnera användarinmatningen till databasen måste du använda Recordset -objektet snarare än Range -objektet som det används i Excel.

1234567891011121314 Sub EnterInvoiceNumber ()Dim dbs som databasDim först som rekorduppsättningStäll in dbs = CurrentDbAnge rst = dbs.OpenRecordset ("tblMatters", dbOpenDynaset)Med första.Lägg till ny! InvNo = InputBox ("Vänligen ange fakturanummer", "FAKTURANUMMER GENERATION", 1).UppdateringSluta medförsta stängaAnge först = ingentingStäll in dbs = ingentingAvsluta Sub

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave