A VBA InputBox funkció hasznos a felhasználó által az Excle 2016-ban begépelt egyetlen információ megszerzéséhez. Ez az információ lehet érték, szöveges karakterlánc vagy akár tartománycím. Ez egy jó alternatíva a UserForm fejlesztésére, amikor csak egy értéket kell megadnia.
InputBox szintaxis
Íme az InputBox függvény szintaxisának egyszerűsített változata:
InputBox(prompt[, title][, default])
Az InputBox függvény elfogadja az itt felsorolt argumentumokat.
| Érv |
Mit érint |
| Gyors |
A beviteli mezőben megjelenő szöveg |
| Cím |
A beviteli mező címsorában megjelenő szöveg
(opcionális) |
| Alapértelmezett |
A felhasználói bevitel alapértelmezett értéke (nem kötelező) |
Egy példa az InputBoxra
Íme egy nyilatkozat, amely bemutatja, hogyan használhatja az InputBox funkciót:
TheName = InputBox ("Mi a neved?", "Üdvözlöm")
A VBA utasítás végrehajtásakor az Excel ezt a párbeszédpanelt jeleníti meg. Figyelje meg, hogy ez a példa csak az első két argumentumot használja, és nem ad meg alapértelmezett értéket. Amikor a felhasználó beír egy értéket, és rákattint az OK gombra, a kód hozzárendeli az értéket a TheName változóhoz.

Az InputBox funkció ezt a párbeszédpanelt jeleníti meg.
A következő példa a harmadik argumentumot használja, és alapértelmezett értéket ad meg. Az alapértelmezett érték az Excel által tárolt felhasználónév (az Application objektum UserName tulajdonsága).
Sub GetName()
Dim TheName As String
TheName = InputBox("Mi a neved?", _
„Üdvözlöm”, Alkalmazás. Felhasználónév)
Vége Sub
Az InputBox mindig megjelenít egy Mégse gombot. Ha a felhasználó a Mégse gombra kattint, az InputBox függvény üres karakterláncot ad vissza.
A VBA InputBox függvénye mindig egy karakterláncot ad vissza, így ha értéket kell kapnia, a kódnak további ellenőrzést kell végeznie. A következő példa az InputBox függvényt használja egy szám lekéréséhez. Az IsNumeric függvényt használja annak ellenőrzésére, hogy a karakterlánc szám-e. Ha a karakterlánc tartalmaz számot, akkor minden rendben van. Ha a felhasználó bejegyzése nem értelmezhető számként, a kód üzenetdobozt jelenít meg.
Sub AddSheets()
Dim Prompt As String
Dim Caption As String
Dim DefValue As Long
Dim NumSheets As String
Prompt = "Hány lapot szeretne hozzáadni?"
Felirat = „Mondd meg…”
DefValue = 1
NumSheets = InputBox (Prompt, Caption, DefValue)
Ha NumSheets = "" Akkor Lépjen ki a Sub 'Canceled
Ha IsNumeric(NumSheets) Akkor
Ha NumSheets > 0 Akkor Sheets.Add Count:=NumSheets
Más
MsgBox "Érvénytelen szám"
Vége Ha
Vége Sub
Tekintse meg a rutin által létrehozott párbeszédpanelt.

Egy másik példa az InputBox funkció használatára.
Egy másik típusú InputBox
Az itt közölt információk a VBA InputBox funkciójára vonatkoznak. Úgy tűnik, hogy a Microsoft szereti a zűrzavart, ezért hozzáférhet az InputBox metódushoz is , amely az Application objektum egyik metódusa.
Az Application InputBox metódus használatának egyik nagy előnye, hogy a kód kérheti a tartomány kiválasztását. A felhasználó ezután kiválaszthatja a tartományt a munkalapon a cellák kiemelésével. Íme egy gyors példa, amely egy tartomány kiválasztására kéri a felhasználót:
Sub GetRange()
Dim Rng As Range
Hiba esetén Folytatás a következőre
Set Rng = Application.InputBox _
(prompt:=„Tartomány megadása:”, Típus:=8)
Ha az Rng semmi, akkor lépjen ki a Subból
MsgBox „Ön kiválasztotta a tartományt” & Rng.Address
Vége Sub
Így néz ki.

Az Application InputBox metódus használata egy tartomány lekéréséhez.
Ebben az egyszerű példában a kód közli a felhasználóval a kiválasztott tartomány címét. A való életben a kód valóban hasznos lenne a kiválasztott tartományban. Jó dolog ebben a példában, hogy az Excel gondoskodik a hibakezelésről. Ha olyan értéket ad meg, amely nem tartomány, az Excel tájékoztatja Önt erről, és lehetővé teszi, hogy újra próbálkozzon.
Az Application.InputBox metódus hasonló a VBA InputBox függvényéhez, de van némi eltérése is. A részletekért tekintse meg a Súgó rendszert.