Innholdsfortegnelse:
Video: Survey123 for ArcGIS Exploring the Survey123 for ArcGIS website 2024
VBA InputBox-funksjonen er nyttig for å oppnå en enkelt informasjon som er 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 til InputBox-funksjonen:
InputBox (prompt [title] [standard])
InputBox-funksjonen godtar argumentene som er oppført her.
Argument | Hva det påvirker |
---|---|
Spør | Teksten som vises i innboksboksen |
Tittel | Teksten som vises i inntastingsboksens tittellinje
(valgfritt) |
Standard | Standardverdien for brukerens inngang (valgfritt) |
Et InputBox-eksempel
Her er en setning som viser hvordan du kan bruke InputBox-funksjonen:
TheName = InputBox ("Hva heter du?", "Hilsener")
Når du utfører denne VBA-setningen, viser Excel denne dialogboksen. Legg merke til at dette eksemplet bare bruker de to første argumentene og ikke angir en standardverdi. Når brukeren skriver inn en verdi og klikker OK, tilordner koden verdien til variabelen TheName.
Følgende eksempel bruker det tredje argumentet og gir en standardverdi. Standardverdien er brukernavnet som er lagret av Excel (programobjektets Brukernavn-egenskap).
Sub GetName () Dim TheName As String TheName = InputBox ("Hva er navnet ditt?", _ "Greetings", Application. UserName) End Sub
InputBox viser alltid en Avbryt-knapp. Hvis brukeren klikker Avbryt, returnerer InputBox-funksjonen en tom streng.
VBAs InputBox-funksjon returnerer alltid en streng, så hvis du trenger å få en verdi, må koden din gjøre litt ekstra kontroll. Følgende eksempel bruker InputBox-funksjonen for å få et nummer. Den bruker IsNumeric-funksjonen til å kontrollere om strengen er et tall. Hvis strengen inneholder et nummer, er alt bra. Hvis brukerens oppføring ikke kan tolkes som et nummer, viser koden en meldingskasse.
Sub AddSheets () Dim prompt as String Dim-bildetekst som streng Dim DefValue så lenge Dim NumSheets As String Prompt = "Hvor mange ark vil du legge til? "Caption =" Fortell meg … "DefValue = 1 NumSheets = InputBox (Prompt, Caption, DefValue) Hvis NumSheets =" "Avslutt deretter Sub & Avbrutt Hvis IsNumerisk (NumSheets) Så Hvis NumSheets> 0 Then Sheet. Legg til tall: = NumSheets Else MsgBox "Ugyldig nummer" Slutt hvis sluttdel
Sjekk dialogboksen som denne rutinen produserer.
Et annet eksempel på bruk av InputBox-funksjonen.En annen type InputBox
Informasjonen som presenteres her gjelder VBAs InputBox-funksjon. Microsoft ser ut til å elske forvirring, så du har også tilgang til InputBox metoden , som er en metode for applikasjonsobjektet.
En stor fordel ved å bruke Application InputBox-metoden er at koden din kan be om et utvalgsvalg. Brukeren kan da velge rekkevidde i regnearket ved å markere cellene. Her er et raskt eksempel som ber brukeren om å velge et område:
Sub GetRange () Dim Rng som rekkefølge på feil Fortsett neste sett Rng = Program. InputBox _ (prompt: = "Angi et område:", Type: = 8) Hvis Rng er ingenting, avslutt deretter Sub MsgBox "Du valgte område" & Rng. Adresse End Sub
Slik ser det ut.
Bruke Application InputBox-metoden for å få et utvalg.I dette enkle eksemplet forteller koden brukeren adressen til området som ble valgt. I virkeligheten ville koden faktisk gjøre noe nyttig med det valgte området. En fin ting om dette eksempelet er at Excel tar seg av feilhåndteringen. Hvis du skriver inn noe som ikke er et område, forteller Excel deg om det og lar deg prøve igjen.
Søknaden. InputBox-metoden ligner VBAs InputBox-funksjon, men det har også noen forskjeller. Sjekk hjelpesystemet for fullstendige detaljer.