VBA InputBox - Få input fra en bruger i en makro - eksempler på VBA -kode

Denne vejledning viser, hvordan du får input fra en bruger med VBA Input Box.

Det VBA -inputboks giver os mulighed for at bede brugeren om at indtaste oplysninger. Oplysningerne kan derefter bruges i vores VBA -kode eller i et Excel -regneark.

VBA -inputboks med variabel

Vi kan erklære en variabel i vores VBA -kode, som derefter gemmer de oplysninger, der er indtastet i inputboksen. Vi kan derefter bruge denne variabel i vores kode.

Afhængigt af den type information, vi ønsker returneret fra inputboksen, kan vi erklære en bestemt type variabel til enten at returnere tekst (en streng eller variantvariabel) eller for at returnere et tal (et heltal, lang, dobbelt eller enkelt variabel).

Strengvariablen med en inputboks

Sådan kan du oprette en InputBox, hvor dataene returneres til en strengvariabel.

123 Dim strInput som strengstrInput = InputBox ("Dette er min InputBox", "MyInputTitle", "Indtast din inputtekst HER")

Bemærk først, at vi erklærer en variabel. Denne variabel vil blive tildelt den værdi, som brugeren indtaster. Vi brugte variabel type String, så feltet Input kunne acceptere tekststrenge (som indeholder alfanumeriske tegn).

Nummervariablen med en inputboks

Hvis du angiver en talvariabel, skal du kun indtaste et tal i inputboksen.

12 Dim iInput som heltaliInput = InputBox ("Indtast venligst et tal", "Opret fakturanummer", 1)

Først erklærer vi talvariablen som en heltalsvariabel. Vi kan så også sætte en standardværdi på 1 i inputboksen.

Hvis vi skulle indtaste en streng i stedet for et tal og derefter klikke på OK, ville vi få en Type Mismatch -fejl, da en talvariabel ikke accepterer en streng.

Få input fra en bruger

Her er et andet eksempel, der bruger de mest populære funktioner i en InputBox.

Følgende kode gør tre ting:

1. Beder om input med en InputBox og tildeler den til en variabel

2. Verificerer input, ellers afslutter sub

3. Returnerer input i en meddelelsesboks

12345678910111213 Offentlig under MyInputBox ()Dim MyInput som strengMyInput = InputBox ("Dette er min InputBox", "MyInputTitle", "Indtast din inputtekst HER")Hvis MyInput = "Indtast din inputtekst HER" Eller MyInput = "" SåAfslut SubAfslut HvisMsgBox "Teksten fra MyInputBox er" & MyInputAfslut Sub

Returnering af input til et Excel -ark

Du kan returnere det input, du indtaster, i en inputboks til en bestemt celle i dit Excel -ark.

1 Område ("P1") = InputBox ("Indtast venligst dit navn", "Indtast navn", "Indtast navn HER")

Vi kan også returnere inputdata til et Excel -ark ved hjælp af en variabel.

12345678910 Sub EnterNumber ()Ved fejl Genoptag næsteDim dblMængde som dobbeltdblAmount = InputBox ("Angiv det nødvendige beløb", "Indtast beløb")Hvis dblAmount 0 SåOmråde ("A1") = dblAmountAndetMsgBox "Du har ikke indtastet et nummer!"Afslut HvisAfslut Sub

I eksemplet ovenfor skal vi indtaste et tal. Hvis vi indtaster et tal, så variablen dblAmount vil sætte nummeret i Excel -arket på celle A1. Men hvis vi ikke indtaster et tal, vil en meddelelsesboks fortælle os, at vi ikke har indtastet et nummer, og intet vil blive sat i celle A1.

Brug af VBA InputBox i Access VBA

VBA -inputboksen fungerer nøjagtig på samme måde i Access, som den gør i Excel, når brugerinput returneres i form af en meddelelsesboks.

Men hvis du vil returnere brugerinput til databasen, skal du bruge Recordset -objektet frem for Range -objektet, som det bruges i Excel.

1234567891011121314 Sub EnterInvoiceNumber ()Dim dbs som databaseDim første som rekordsætIndstil dbs = CurrentDbIndstil rst = dbs.OpenRecordset ("tblMatters", dbOpenDynaset)Med første.Tilføj ny! InvNo = InputBox ("Indtast venligst fakturanummeret", "GENERATION AF FAKTURANUMMER", 1).OpdaterAfslut medførst. lukIndstil rst = IntetIndstil dbs = IntetAfslut Sub

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave