„VBA InputBox“ - gaukite naudotojo įvestį makrokomandoje - VBA kodo pavyzdžiai

Ši pamoka parodys, kaip gauti įvestį iš vartotojo naudojant VBA įvesties dėžutę.

The VBA įvesties dėžutė leidžia mums paraginti vartotoją įvesti informaciją. Tada informacija gali būti naudojama mūsų VBA kode arba „Excel“ darbalapyje.

VBA įvesties dėžutė su kintamuoju

Savo VBA kode galime deklaruoti kintamąjį, kuris tada saugo informaciją, įvestą įvesties laukelyje. Tada galime naudoti šį kintamąjį savo kode.

Priklausomai nuo to, kokio tipo informaciją norime grąžinti iš įvesties laukelio, mes galime deklaruoti tam tikro tipo kintamąjį arba grąžinti tekstą (eilutę ar variantą), arba grąžinti skaičių (sveiką skaičių, ilgą, dvigubą ar vieną kintamąjį).

Styginių kintamasis su įvesties langeliu

Štai kaip galite sukurti „InputBox“, kur duomenys grąžinami į eilutės kintamąjį.

123 Įtraukti įvestį kaip eilutęstrInput = InputBox („Tai mano įvesties dėžutė“, „Mano įvesties pavadinimas“, „Įveskite įvesties tekstą ČIA“)

Pirmiausia atkreipkite dėmesį, kad deklaruojame kintamąjį. Šiam kintamajam bus priskirta vertė, kurią vartotojas įveda. Mes naudojome kintamojo tipo eilutę, kad įvesties laukelis priimtų teksto eilutes (įskaitant bet kokius raidinius skaitmeninius simbolius).

Kintamasis skaičius su įvesties langeliu

Jei deklaruojate skaičių kintamąjį, turėsite įvesti tik skaičių įvesties laukelyje.

12 „Dim iInput As Integer“iInput = InputBox („Įveskite skaičių“, „Sukurti sąskaitos faktūros numerį“, 1)

Pirmiausia skaičiaus kintamąjį deklaruojame kaip sveiką kintamąjį. Tada įvesties laukelyje taip pat galime įdėti numatytąją reikšmę 1.

Jei įvestume eilutę, o ne skaičių, o tada spustelėtume Gerai, gautume tipo neatitikimo klaidą, nes skaičių kintamasis nepriima eilutės.

Gaukite įvestį iš vartotojo

Štai dar vienas pavyzdys, naudojant populiariausias „InputBox“ funkcijas.

Šis kodas atlieka tris veiksmus:

1. Ragina įvesti „InputBox“ ir priskiria jį kintamajam

2. Tikrina įvestį, kitu atveju išeina iš antrinio

3. Grąžina įvestį pranešimų laukelyje

12345678910111213 Viešoji antrinė „MyInputBox“ ()„Dim MyInput“ kaip eilutėMyInput = InputBox („Tai yra mano įvesties dėžutė“, „MyInputTitle“, „Įveskite įvesties tekstą ČIA“)Jei MyInput = "Įveskite įvesties tekstą ČIA" arba MyInput = "" TadaIšeiti iš SubPabaiga Jei„MsgBox“ „MyInputBox“ tekstas yra „& MyInput“Pabaiga Sub

Įvesties grąžinimas į „Excel“ lapą

Jūs galite grąžinti įvestį, kurią įvedėte į įvesties laukelį, į tam tikrą „Excel“ lapo langelį.

1 Diapazonas ("P1") = InputBox ("Įveskite savo vardą", "Įveskite vardą", "Įveskite vardą ČIA")

Mes taip pat galime grąžinti įvesties duomenis į „Excel“ lapą naudodami kintamąjį.

12345678910 Antrasis įvesties numeris ()Dėl klaidos Tęsti toliauDim dblAmount As DoubledblAmount = InputBox („Įveskite reikiamą sumą“, „Įveskite sumą“)Jei dblAmount 0 TadaDiapazonas ("A1") = dblAmountKitasMsgBox "Jūs neįvedėte numerio!"Pabaiga JeiPabaiga Sub

Aukščiau pateiktame pavyzdyje turime įvesti skaičių. Jei įvesime skaičių, tada kintamąjį dblAmount įdės numerį į „Excel“ lapą langelyje A1. Tačiau, jei neįvesime skaičiaus, pranešimų laukelyje mums bus pasakyta, kad neįvedėme skaičiaus ir niekas nebus įrašytas į langelį A1.

„VBA InputBox“ naudojimas „Access VBA“

VBA įvesties laukelis „Access“ veikia lygiai taip pat, kaip „Excel“, kai grąžina vartotojo įvestį pranešimų laukelio pavidalu.

Tačiau, jei norite grąžinti vartotojo įvestį į duomenų bazę, turėsite naudoti įrašų rinkinio objektą, o ne diapazono objektą, kaip buvo naudojama „Excel“.

1234567891011121314 Sub EnterInvoiceNumber ()Dim dbs kaip duomenų bazėPirmas kaip įrašų rinkinysNustatykite dbs = CurrentDbNustatykite rst = dbs.OpenRecordset ("tblMatters", dbOpenDynaset)Su pirm.Pridėti naują! InvNo = InputBox ("Įveskite sąskaitos faktūros numerį", "Sąskaitų faktūrų skaičiaus generavimas", 1).AtnaujintiPabaiga supirma. UždarytiNustatykite pirmąjį = niekoNustatyti dbs = niekoPabaiga Sub

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave