Funktsioon VBA InputBox | Kuidas luua InputBoxi ja salvestada väärtusi?

Exceli VBA sisendkast

VBA InputBox on sisseehitatud funktsioon, mida kasutatakse kasutajalt väärtuse saamiseks. Sellel funktsioonil on kaks peamist argumenti, milles üks on sisendkasti pealkiri ja teine ​​sisendkasti küsimus, sisendkasti funktsioon saab salvestada ainult sisestatud andmetüüpe mida see muutuja mahutab.

Sageli kasutame Excelis andmeid, mis on Exceli lehel juba olemas. Mõnikord vajame mingisuguseid sisendandmeid ka kasutajatelt. Eriti VBA puhul on kasutajalt sageli vaja sisestada.

InputBoxi abil saame andmed kasutajalt kätte ja kasutada neid oma eesmärkidel. InputBox palub kasutajal sisestada väärtus, kuvades InputBox.

Süntaks

  • Viip: See pole midagi muud kui sõnum kasutajale sisendkasti kaudu.
  • Pealkiri: Mis on sisendkasti pealkiri?
  • Vaikimisi: mis on sisendkasti vaikeväärtus? See väärtus kuvatakse sisendkasti tippimisalal.

Need kolm parameetrit on Excelis piisavalt head, ignoreerige ülejäänud 4 valikulist parameetrit. Selle süntaksi mõistmiseks vaadake allolevat ekraanipilti.

Kuidas luua InputBoxi VBA-s?

Ok, laseb kohe praktilisuse juurde minna. Esimese sisendkasti loomiseks toimige järgmiselt.

Selle VBA InputBox Exceli malli saate alla laadida siit - VBA InputBox Exceli mall

1. samm: minge VBE (Visual Basic Editor) ja sisestage uus moodul.

2. samm: topeltklõpsake sisestatud moodulil ja looge makro nimi.

3. samm: hakake sisestama sõna „InputBox” ja näete sellega seotud suvandeid.

4. samm: valige sisendkast ja andke ruumi ja näete sisendkasti süntaksit.

5. samm: andke viip "Palun sisesta oma nimi".

6. samm: tippige sisendkasti pealkirjaks „Isiklik teave”.

7. samm: tippige vaikeväärtuseks „Sisestage siia”

8. samm: oleme valmis. Käivitage see kood ja vaadake oma esimest sisestuskasti.

Salvestage InputBoxi väärtus lahtritesse

Nüüd läbime väärtuste lahtritesse salvestamise protsessi. Järgige alltoodud samme.

1. samm: muutuja deklareerimine Variantiks.

Kood:

 Sub InputBox_Example () Dim i Variant End Sub 

2. samm: määrake selle muutuja jaoks väärtus sisendkasti kaudu.

Kood:

 Sub InputBox_Example () Dim i Variant i = InputBox ("Palun sisestage oma nimi", "Isiklik teave", "Sisestage siia") Lõpp alam 

Märkus. Kui sisestuskast tuleb võrdusmärgist paremale, peame sisestama argumendid või süntaks sulgudesse nagu meie tavalised valemid.

3. samm: nüüd, olenemata sisendkasti sisestatud väärtusest, peame selle lahtrisse A1 salvestama. Nii kirjutage selle jaoks kood vahemikuks (“A1”). Väärtus = i

Kood:

 Sub InputBox_Example () Dim i Variant i = InputBox ("Palun sisestage oma nimi", "Isiklik teave", "Type siia") Vahemik ("A1"). Väärtus = i End Sub 

Ok, oleme valmis. Käivitame selle koodi nüüd, vajutades klahvi F5 või saate koodi käivitada ka käsitsi, nagu on näidatud alloleval ekraanipildil.

Niipea kui olete selle koodi käivitanud, näeme sisendkasti.

Sisestage nimi ja klõpsake nuppu OK.

Niipea, kui sisestate nime ja klõpsate nuppu OK, näete lahtris A1 sisendkasti väärtust.

Märkus. Kui muutuja on õigesti määratletud, võime sisendkastist salvestada mis tahes väärtuse. Ülalolevas näites olen määranud muutuja Variantiks, mis mahutab igat tüüpi andmeid.

Näiteks olen nüüd muutuja tüübi muutnud kuupäevaks.

Nüüd käivitage kood ja tüüp, välja arvatud kuupäev.

Klõpsake nuppu OK ja vaadake, mis vastus on.

Saime vea väärtuse tüübi mittevastavusena . Kuna oleme muutuja andmetüübi kuulutanud kuupäevaks DATE, ei saa me sisendkasti salvestada midagi muud kui kuupäev DATE.

Nüüd sisestage kuupäev ja vaadake, mis juhtub.

Niipea, kui sisestate kuupäeva ja klõpsate nuppu OK ning näete, milline on vastus.

Kuna oleme sisestanud õige väärtuse, saime tulemuse lahtrisse.

Kasutaja sisendi valideerimine

Teate, mida me saame tegelikult lubada kasutajatel sisestada ainult konkreetse väärtuse, st lubada kasutajal sisestada ainult teksti, ainult numbrit, ainult loogilisi väärtusi jne.

Selle ülesande täitmiseks peame kasutama meetodit Application.InputBox.

Vaatame rakenduse süntaksit. InputBox.

 

  • Viip: See pole midagi muud kui sõnum kasutajale sisendkasti kaudu.
  • Pealkiri: Mis on sisendkasti pealkiri?
  • Vaikimisi: mis on sisendkasti vaikeväärtus? See väärtus kuvatakse sisestuskasti sisestusalas.
  • Vasak: milline peaks olema praeguse akna sisendkasti x-asend?
  • Üles: milline peaks olema praeguse akna sisendkasti y asukoht?

Selle sisendkasti alustamiseks deklareerige muutuja ja määrake muutujale väärtus.

Nüüd määrake sõna Rakendus käivitamiseks väärtus .

Pärast sõna Rakendus sisestage punkt (.) Ja tippige Sisendkast.

Valige sisestuskast ja avage sulg.

Nagu tavaliselt, sisestage viip, pealkiri ja vaikeväärtus.

Eirake nüüd vasakut, ülemist, abifaili, spikri konteksti ID, tippides 5 koma (,).

Siin tüüp tähendab, mis peaks olema sisendstring. Allpool on saadaval valideerimised.

Seega valige vastavalt oma tüüp. Olen valinud parameetriks 1, st ainult numbrid.

Nüüd käivitage kood ja teksti väärtuse tüüp.

Klõpsake nuppu OK ja vaadake, mis juhtub.

Seal öeldakse, et number ei kehti. Seega saame sellesse sisendkasti sisestada ainult numbrid.

Asjad, mida meeles pidada

  • Sisendikasti antud väärtuse salvestamiseks vajame muutujat.
  • Kui kasutate InputBoxi ilma rakendusmeetodita, peaksite muutuja andmetüübi osas olema täiuslik.
  • Kasutage andmetüüpi Variant, mis mahutab igat liiki andmetüüpe ja salvestusi.