Indholdsfortegnelse:
Video: Web Apps of the Future with React by Neel Mehta 2024
VBA InputBox-funktionen er nyttig til opnåelse af et enkelt stykke information skrevet af brugeren i Excle 2016. Denne information kan være en værdi, en tekststreng eller endda en række adresse. Dette er et godt alternativ til at udvikle en UserForm, når du kun skal have én værdi.
InputBox-syntaks
Her er en forenklet version af syntaksen til InputBox-funktionen:
InputBox (prompt [title] [default])
InputBox-funktionen accepterer de argumenter, der er angivet her.
Argument | Hvad det påvirker |
---|---|
Hurtig | Teksten vises i indtastningsboksen |
Titel | Teksten vises i indtastningsboksens titellinje
(valgfri) |
Standard | Standardværdien for brugerens indgang (valgfri) |
Et InputBox-eksempel
Her er en erklæring, der viser, hvordan du kan bruge InputBox-funktionen:
TheName = InputBox ("Hvad er dit navn?", "Hilsner")
Når du udfører denne VBA-sætning, viser Excel denne dialogboks. Bemærk, at dette eksempel kun bruger de to første argumenter og giver ikke en standardværdi. Når brugeren indtaster en værdi og klikker OK, tildeler koden værdien til variablen TheName.
Følgende eksempel bruger det tredje argument og giver en standardværdi. Standardværdien er brugernavnet, der er gemt af Excel (egenskaben Application Name's PropertyName).
Sub GetName () Dim TheName As String TheName = InputBox ("Hvad er dit navn?", _ "Greetings", Application. UserName) Afslut Sub
InputBox viser altid en Cancel-knap. Hvis brugeren klikker på Cancel, returnerer funktionen InputBox en tom streng.
VBAs InputBox-funktion returnerer altid en streng, så hvis du har brug for en værdi, skal din kode foretage yderligere kontrol. Følgende eksempel bruger InputBox-funktionen til at få et nummer. Den bruger IsNumeric-funktionen til at kontrollere om strengen er et tal. Hvis strengen indeholder et nummer, er alt fint. Hvis brugerens indtastning ikke kan tolkes som et nummer, viser koden en meddelelsesboks.
Sub AddSheets () Dim prompt som string dim billedtekst som streng Dim DefValue så lang Dim NumSheets As String Prompt = "Hvor mange ark vil du tilføje? "Caption =" Fortæl mig … "DefValue = 1 NumSheets = InputBox (Prompt, Caption, DefValue) Hvis NumSheets =" "Afslut derefter Sub & Annulleret Hvis IsNumerisk (NumSheets) Så Hvis NumSheets> 0 Then Sheets. Tilføj Count: = NumSheets Else MsgBox "Ugyldigt nummer" Afslut hvis slutdel
Tjek dialogboksen, som denne rutine producerer.
Et andet eksempel på at bruge InputBox-funktionen.En anden type InputBox
Oplysningerne her er gældende for VBAs InputBox-funktion. Microsoft synes at elske forvirring, så du har også adgang til InputBox metoden , som er en metode til applikationsobjektet.
En stor fordel ved at bruge Application InputBox-metoden er, at din kode kan anmode om en rækkevidde. Brugeren kan derefter vælge rækkevidde i regnearket ved at fremhæve cellerne. Her er et hurtigt eksempel, der beder brugeren om at vælge en rækkevidde:
Sub GetRange () Dim Rng Som rækkevidde ved fejl Genoptag næste sæt Rng = Application. InputBox _ (prompt: = "Angiv en rækkevidde:", Type: = 8) Hvis Rng er Intet, Afslut derefter Sub MsgBox "Du valgte område" & Rng. Adress End Sub
Sådan ser det ud.
Brug af Application InputBox-metoden for at få en rækkevidde.I dette enkle eksempel fortæller koden brugeren adressen til det område, der blev valgt. I virkeligheden ville din kode faktisk gøre noget nyttigt med det valgte område. En god ting om dette eksempel er, at Excel tager sig af fejlhåndteringen. Hvis du indtaster noget, der ikke er et interval, fortæller Excel dig om det og lader dig prøve igen.
Ansøgningen. InputBox-metoden ligner VBA's InputBox-funktion, men den har også nogle forskelle. Tjek Hjælp-systemet for at få fuldstændige detaljer.