Funktsioon VBA InputBox on kasulik üheainsa teabe hankimiseks, mille kasutaja on sisestanud rakenduses Excle 2016. See teave võib olla väärtus, tekstistring või isegi vahemiku aadress. See on hea alternatiiv UserFormi arendamisele, kui teil on vaja saada ainult üks väärtus.
InputBoxi süntaks
Siin on funktsiooni InputBox süntaksi lihtsustatud versioon:
Sisestuskast (viip[, pealkiri][, vaikimisi])
Funktsioon InputBox aktsepteerib siin loetletud argumente.
| Argument |
Mida see mõjutab |
| Viip |
Sisestuskastis kuvatav tekst |
| Pealkiri |
Sisestuskasti tiitliribal kuvatav tekst
(valikuline) |
| Vaikimisi |
Kasutaja sisendi vaikeväärtus (valikuline) |
InputBoxi näide
Siin on avaldus, mis näitab, kuidas saate funktsiooni InputBox kasutada:
TheName = InputBox ("Mis su nimi on?", "Tervitused")
Selle VBA-lause täitmisel kuvab Excel selle dialoogiboksi. Pange tähele, et see näide kasutab ainult kahte esimest argumenti ega anna vaikeväärtust. Kui kasutaja sisestab väärtuse ja klõpsab nuppu OK, määrab kood väärtuse muutujale TheName.

Funktsioon InputBox kuvab selle dialoogiboksi.
Järgmine näide kasutab kolmandat argumenti ja annab vaikeväärtuse. Vaikeväärtus on Exceli salvestatud kasutajanimi (rakendusobjekti atribuut UserName).
Sub GetName()
Dim TheName stringina
TheName = InputBox("Mis su nimi on?", _
"Tervitused", Rakendus.Kasutajanimi)
Lõpeta alam
InputBox kuvab alati nuppu Tühista. Kui kasutaja klõpsab nupul Tühista, tagastab funktsioon InputBox tühja stringi.
VBA funktsioon InputBox tagastab alati stringi, nii et kui teil on vaja väärtust saada, peab teie kood täiendavalt kontrollima. Järgmises näites kasutatakse numbri saamiseks funktsiooni InputBox. See kasutab funktsiooni IsNumeric, et kontrollida, kas string on arv. Kui string sisaldab numbrit, on kõik korras. Kui kasutaja sisestust ei saa tõlgendada numbrina, kuvab kood teatekasti.
Alam lisalehed()
Dim Prompt String
Hämarad pealdised stringina
Dim DefValue As Long
Dim NumSheets stringina
Prompt = "Mitu lehte soovite lisada?"
Pealkiri = "Räägi mulle ..."
Vaikimisi väärtus = 1
NumSheets = sisendkast (viip, pealdis, vaikeväärtus)
Kui NumSheets = "" Seejärel väljuge alamribast "Tühistatud".
Kui IsNumeric(NumSheets) Siis
Kui NumSheets > 0 Siis Sheets.Add Count:=NumSheets
Muidu
Msgbox "Vigane number"
Lõpeta Kui
Lõpeta alam
Vaadake dialoogiboksi, mille see rutiin loob.

Veel üks näide funktsiooni InputBox kasutamisest.
Teist tüüpi InputBox
Siin esitatud teave kehtib VBA sisendkasti funktsiooni kohta. Microsoft näib armastavat segadust, nii et teil on juurdepääs ka meetodile InputBox , mis on rakenduse objekti meetod.
Application InputBox meetodi kasutamise üks suur eelis on see, et teie kood võib paluda vahemiku valimist. Seejärel saab kasutaja lahtreid esile tõstes valida töölehel vahemiku. Siin on kiire näide, mis palub kasutajal vahemiku valida:
Sub GetRange()
Dim Rng As Range
Vea korral Jätka järgmisena
Määra Rng = Application.Inputbox _
(prompt:=“Määra vahemik:”, Tüüp:=8)
Kui Rng pole midagi, väljuge Sub
MsgBox "Valisite vahemiku" & Rng.Address
Lõpeta alam
See näeb välja selline.

Vahemiku saamiseks meetodi Application InputBox kasutamine.
Selles lihtsas näites ütleb kood kasutajale valitud vahemiku aadressi. Reaalses elus teeks teie kood valitud vahemikuga midagi kasulikku. Selle näite hea asi on see, et Excel hoolitseb veakäsitluse eest. Kui sisestate midagi, mis ei ole vahemik, teavitab Excel teid sellest ja laseb teil uuesti proovida.
Application.InputBox meetod sarnaneb VBA funktsiooniga InputBox, kuid sellel on ka mõningaid erinevusi. Täieliku teabe saamiseks vaadake abisüsteemi.