Funkcija VBA InputBox je uporabna za pridobivanje enega samega podatka, ki ga je vnesel uporabnik v Excle 2016. Te informacije so lahko vrednost, besedilni niz ali celo naslov obsega. To je dobra alternativa razvoju uporabniškega obrazca, ko morate dobiti samo eno vrednost.
Sintaksa InputBox
Tukaj je poenostavljena različica sintakse funkcije InputBox:
InputBox(poziv[, naslov][, privzeto])
Funkcija InputBox sprejema tukaj navedene argumente.
| Prepir |
Na kaj vpliva |
| Poziv |
Besedilo, prikazano v polju za vnos |
| Naslov |
Besedilo, prikazano v naslovni vrstici vnosnega polja
(izbirno) |
| Privzeto |
Privzeta vrednost za vnos uporabnika (izbirno) |
Primer InputBox
Tukaj je izjava, ki prikazuje, kako lahko uporabite funkcijo InputBox:
TheName = InputBox ("Kako ti je ime?", "Pozdravljeni")
Ko izvedete ta stavek VBA, Excel prikaže to pogovorno okno. Upoštevajte, da ta primer uporablja samo prva dva argumenta in ne zagotavlja privzete vrednosti. Ko uporabnik vnese vrednost in klikne V redu, koda dodeli vrednost spremenljivki TheName.

Funkcija InputBox prikaže to pogovorno okno.
Naslednji primer uporablja tretji argument in zagotavlja privzeto vrednost. Privzeta vrednost je uporabniško ime, ki ga shrani Excel (lastnost UserName objekta Application).
Sub GetName()
Dim TheName kot niz
TheName = InputBox("Kako ti je ime?", _
“Pozdravi”, Application.UserName)
Končni sub
InputBox vedno prikaže gumb Prekliči. Če uporabnik klikne Prekliči, funkcija InputBox vrne prazen niz.
Funkcija VBA InputBox vedno vrne niz, tako da, če želite dobiti vrednost, mora vaša koda opraviti nekaj dodatnih preverjanj. Naslednji primer uporablja funkcijo InputBox za pridobitev števila. Za preverjanje, ali je niz številka, uporablja funkcijo IsNumeric. Če niz vsebuje številko, je vse v redu. Če uporabniškega vnosa ni mogoče razlagati kot številko, koda prikaže okno s sporočilom.
Sub AddSheets()
Dim Prompt kot niz
Zatemnjen napis kot niz
Dim DefValue As Long
Dim NumSheets kot niz
Poziv = "Koliko listov želite dodati?"
Napis = "Povej mi ..."
DefValue = 1
NumSheets = InputBox (poziv, napis, defValue)
Če je NumSheets = ““ Nato Exit Sub 'Canceled
Če IsNumeric(NumSheets) Potem
Če je NumSheets > 0, potem Sheets.Add Count:=NumSheets
Drugače
MsgBox "Neveljavna številka"
Konec Če
Končni sub
Oglejte si pogovorno okno, ki ga ustvari ta rutina.
![Kako uporabljati funkcijo InputBox v Excelu 2016 VBA]()
Še en primer uporabe funkcije InputBox.
Druga vrsta InputBox
Informacije, predstavljene tukaj, veljajo za funkcijo VBA InputBox. Zdi se, da Microsoft obožuje zmedo, zato imate dostop tudi do metode InputBox , ki je metoda predmeta Application.
Ena velika prednost uporabe metode Application InputBox je, da lahko vaša koda zahteva izbiro obsega. Uporabnik lahko nato izbere obseg na delovnem listu tako, da označi celice. Tukaj je hiter primer, ki uporabnika pozove, da izbere obseg:
Sub GetRange()
Dim Rng As Range
Ob napaki Nadaljuj naprej
Nastavi Rng = Application.InputBox _
(poziv:=»Določite obseg:«, Vrsta:=8)
Če Rng ni nič, zapustite Sub
MsgBox »Izbrali ste obseg« & Rng.Address
Končni sub
Takole je videti.
![Kako uporabljati funkcijo InputBox v Excelu 2016 VBA]()
Za pridobitev obsega uporabite metodo Application InputBox.
V tem preprostem primeru koda pove uporabniku naslov obsega, ki je bil izbran. V resničnem življenju bi vaša koda dejansko naredila nekaj uporabnega z izbranim obsegom. Lepa stvar tega primera je, da Excel poskrbi za ravnanje z napakami. Če vnesete nekaj, kar ni obseg, vam Excel o tem pove in vam omogoči, da poskusite znova.
Metoda Application.InputBox je podobna funkciji VBA InputBox, vendar ima tudi nekaj razlik. Za popolne podrobnosti preverite sistem pomoči.