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

Denne opplæringen vil demonstrere hvordan du får input fra en bruker med VBA Input Box.

De VBA Input Box lar oss be brukeren om å legge inn informasjon. Informasjonen kan deretter brukes i vår VBA -kode eller i et Excel -regneark.

VBA Input Box med en variabel

Vi kan deklarere en variabel i vår VBA -kode som deretter lagrer informasjonen som skrives inn i Input Box. Vi kan deretter bruke denne variabelen i koden vår.

Avhengig av informasjonstypen vi ønsker returnert fra inndataboksen, kan vi deklarere en bestemt variabeltype til enten å returnere tekst (en streng eller variantvariabel) eller for å returnere et tall (et heltall, lang, dobbel eller enkel variabel).

Strengvariabelen med inndataboks

Slik kan du opprette en InputBox hvor dataene returneres til en strengvariabel.

123 Dim strInngi som strengstrInput = InputBox ("This is my InputBox", "MyInputTitle", "Enter your input text HERE")

Legg merke til at vi først erklærer en variabel. Denne variabelen vil bli tildelt verdien som brukeren angir. Vi brukte variabel type String for at Inndata -boksen skulle godta tekststrenger (som inneholder alle alfanumeriske tegn).

Tallvariabelen med en inndataboks

Hvis du erklærer en tallvariabel, må du bare skrive inn et tall i inndatafeltet.

12 Dim iInput som heltalliInput = InputBox ("Vennligst skriv inn et tall", "Opprett fakturanummer", 1)

Først deklarerer vi tallvariabelen som en heltallsvariabel. Vi kan da også sette en standardverdi på 1 i inndataboksen.

Hvis vi skulle skrive inn en streng i stedet for et tall og deretter klikke på OK, ville vi få en Type Mismatch Error som en tallvariabel ikke godtar en streng.

Få innspill fra en bruker

Her er et annet eksempel på bruk av de mest populære funksjonene i en InputBox.

Følgende kode gjør tre ting:

1. Ber om input med en InputBox og tilordner den til en variabel

2. Bekrefter inndata, ellers går den ut av suben

3. Returnerer inndata i en meldingsboks

12345678910111213 Offentlig under MyInputBox ()Dim MyInput som strengMyInput = InputBox ("This is my InputBox", "MyInputTitle", "Enter your input text HERE")Hvis MyInput = "Skriv inn input -teksten HER" Eller MyInput = "" DeretterAvslutt SubSlutt omMsgBox "Teksten fra MyInputBox er" og MyInputSlutt Sub

Returnerer inndataene til et Excel -ark

Du kan returnere inngangen du skriver inn i en inndataboks til en bestemt celle i Excel -arket.

1 Område ("P1") = InputBox ("Skriv inn navnet ditt", "Skriv inn navn", "Skriv inn navn HER")

Vi kan også returnere inndata til et Excel -ark ved hjelp av en variabel.

12345678910 Sub EnterNumber ()Ved feil Fortsett nesteDim dblAmount As DoubledblAmount = InputBox ("Skriv inn det nødvendige beløpet", "Skriv inn beløp")Hvis dblAmount 0 DaOmråde ("A1") = dblAmountEllersMsgBox "Du angav ikke et tall!"Slutt omSlutt Sub

I eksemplet ovenfor må vi angi et tall. Hvis vi skriver inn et tall, så variabelen dblAmount legger nummeret inn i Excel -arket i celle A1. Men hvis vi ikke taster inn et tall, vil en meldingsboks fortelle oss at vi ikke skrev inn et tall, og ingenting vil bli satt inn i celle A1.

Bruke VBA InputBox i Access VBA

VBA -inputboksen fungerer nøyaktig på samme måte i Access som den gjør i Excel når du returnerer brukerinndata i form av en meldingsboks.

Men hvis du ønsker å returnere brukerinndataene til databasen, må du bruke Recordset -objektet i stedet for Range -objektet som det brukes i Excel.

1234567891011121314 Sub EnterInvoiceNumber ()Dim dbs som databaseDim rst As RecordsetSett dbs = CurrentDbSett rst = dbs.OpenRecordset ("tblMatters", dbOpenDynaset)Med første.Legg til ny! InvNo = InputBox ("Vennligst skriv inn fakturanummer", "FAKTURANUMMER GENERASJON", 1).OppdaterSlutt medførste lukkSett først = ingentingSett dbs = ingentingSlutt Sub

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave