VBA InputBox funksjonen er nyttig for å få en eneste opplysning skrevet av brukeren i Excle 2016. Denne informasjonen kan være en verdi, en tekststreng, eller til og med en rekkevidde adresse . Dette er et godt alternativ til å utvikle en Userform når du trenger å få bare én verdi
InputBox syntaks
Her er en forenklet versjon av syntaksen i InputBox funksjonen.
InputBox (teksten [, tittel] [, standard])
InputBox funksjonen godtar argumentene er oppført her
ArgumentWhat det AffectsPromptThe teksten som vises i inngangs boxTitleThe teksten som vises i boksen ’. tittellinje (valgfritt) DefaultThe standardverdi for bruker ’ s inngang (valgfritt)
et InputBox eksempel
Her er en uttalelse som viser hvordan du kan bruke InputBox funksjon:
thename = InputBox ( ", Greetings" Hva heter du? " ")
Når du utfører denne VBA erklæringen, Excel viser denne dialogboksen. Legg merke til at dette eksemplet bruker bare de to første argumentene og gir ikke en standardverdi. Når brukeren skriver inn en verdi, og klikker OK, tildeler koden verdien til variabelen thename.
Den InputBox funksjonen viser denne dialogboksen.
Følgende eksempel bruker den tredje argument og gir en standardverdi. Standardverdien er brukernavnet lagret av Excel (Application objektets Name eiendom).
Sub getName () Dim thename As String thename = InputBox ( "Hva heter du?", _ "Greetings", Application.UserName) End sub
InputBox viser alltid en Avbryt-knappen. Hvis brukeren klikker Avbryt, returnerer InputBox funksjonen en tom streng.
VBA er InputBox funksjonen returnerer alltid en streng, så hvis du trenger å få en verdi, må koden for å gjøre noen ekstra kontroll. Følgende eksempel bruker InputBox funksjonen for å få et nummer. Den bruker IsNumeric funksjon for å sjekke om strengen er et tall. Hvis strengen ikke inneholder et tall, alt er i orden. Hvis brukeren inntreden ikke kan tolkes som et tall, viser koden en meldingsboks.
Sub AddSheets () Dim Spør As String Dim Caption As String Dim DefValue Som Long Dim NumSheets As String Spør = "Hvor mange ark du vil å legge til "Caption =" Si meg ... "DefValue = 1 NumSheets = InputBox (Prompt, Caption, DefValue) Hvis NumSheets =" "Then Exit Sub &? 'som kansellert dersom IsNumeric (NumSheets) da hvis NumSheets > 0 Then Sheets.Add Count: = NumSheets Else MsgBox "Ugyldig antall" End IfEnd Sub
Sjekk ut dialogboksen som denne rutinen produserer
Et annet eksempel på bruk av InputBox funksjonen
En annen type InputBox <.. br>
Den informasjonen som presenteres her gjelder VBA er InputBox funksjon. Microsoft ser ut til å elske forvirring, så har du også tilgang til InputBox metode
, som er en metode for programmet objektet.
En stor fordel med å bruke Application InputBox metoden er at koden kan be om en rekke valg. Brukeren kan deretter velge området i regnearket ved å markere cellene. Her er en rask eksempel som ber brukeren om å velge et område:
Sub GetRange () Dim RNG Som Range On Error Resume Next Set RNG = Application.InputBox _ (teksten: = "Angi et område:" Type: = 8 ) Hvis RNG Er Ingenting Deretter Exit Sub MsgBox "Du valgte området" & Rng.AddressEnd Sub
Dette er hvordan det ser ut.
Bruk av programmet InputBox metode for å få et utvalg.
I dette enkle eksempelet, forteller koden brukeren adressen til området som ble valgt. I det virkelige liv, vil koden faktisk gjør noe nyttig med det valgte området. En fin ting om dette eksemplet er at Excel tar seg av feilbehandling. Hvis du skriver inn noe som ikke er et område, forteller Excel du om det og lar deg prøve igjen.
Application.InputBox metoden er lik VBA er InputBox funksjon, men det har også noen forskjeller. Sjekk hjelpesystemet for fullstendig informasjon.