Excel VBA InputBox

Deși de cele mai multe ori utilizați datele care vă sunt deja, uneori vă confruntați cu o situație în care doriți ca utilizatorul să introducă date precum Nume, Vârstă etc., fel de informații personale. Aceste tipuri de informații de intrare sunt necesare uneori atunci când efectuăm un sondaj și trebuie să revizuim opinia nepărtinitoare a oamenilor.

Folosind InputBox Excel VBA, putem obține datele de intrare de la utilizator. După cum sugerează și numele, InputBox funcționează ca o casetă pop-up care solicită utilizatorului să furnizeze anumite informații.

Sintaxa pentru VBA InputBox

Urmează sintaxa pentru VBA InputBox:

Unde,

  • Prompt - Mesaj care este afișat utilizatorului. Acesta este singurul argument necesar, restul celorlalte argumente sunt opționale.
  • Titlu - Este titlul care apare pe fereastra de dialog după executarea cu succes a instrucțiunii InputBox. Dacă nu este dat, sistemul implicit tipărește „Microsoft Excel” ca titlu.
  • Default - Este valoarea implicită care apare pe caseta de dialog. Îl putem păstra și nul. Nicio valoare implicită setată pentru acest argument.
  • XPos - Coordonata de poziție a unei casete de dialog pe axa X.
  • YPos - Coordonata de poziție a unei casete de dialog pe axa Y.
  • HelpFile - Locația fișierului de ajutor care ar trebui utilizat. Acest argument devine obligatoriu de setat la trecerea argumentului „Context”.
  • Context - Reprezintă contextul de ajutor pentru fișierul Help utilizat. Obligatoriu de utilizat la trecerea argumentului „HelpFile”.
  • Din toate aceste argumente, doar primele trei sunt suficiente pentru a crea cu succes un InputBox.

Crearea InputBox în Excel VBA

Mai jos sunt diferiți pași pentru a crea InputBox în Excel folosind VBA Code.

Puteți descărca acest șablon VBA InputBox Excel aici - șablonul VBA InputBox Excel
  • Deschideți VBE (Visual Basic Editor apăsând simultan Alt + F11 într-un fișier Excel și faceți clic pe Insert și adăugați un nou modul în VBE.

  • Creați o macrocomandă în acest modul denumit „Modul1”. Alocați un nume macro.

  • Introduceți comanda InputBox în editor.

Dă următoarele intrări la instrucțiunea InputBox:

  • Prompt: „Pot să vă cunosc numele complet?”
  • Titlu: „Informații personale”
  • Implicit: „Începeți să scrieți aici

Cod:

 Sub InputBoxEX () InputBox "Pot să vă cunosc numele?", "Informații personale", "Începeți să scrieți aici" 

  • Apăsați butonul F5 sau executați butonul pentru a rula acest cod.

Cum se păstrează ieșirea de InputBox în celule?

Ați creat InputBox pentru a obține intrarea de la utilizator. Totuși, unde va fi stocată ieșirea? Nu am menționat nicio locație în care ieșirea poate fi stocată.

Să stocăm ieșirea pe care o obținem de la InputBox la celule excel, urmând pașii de mai jos în VBA:

  • Declarați o nouă variabilă „Nume” cu tipul „Variantă”. Acest tip de variabilă poate lua orice valoare (numerică / șir / logic etc.).

Cod:

 Sub InputBoxEX () Dim Dim Ca variantă Sub Variant End 

  • Utilizați InputBox pentru a atribui valoare acestei variabile numită „Nume”.

Cod:

 Sub InputBoxEX () Dim Dim ca nume de variantă = InputBox ("Pot să vă cunosc numele?", "Informații personale", "Începeți să scrieți aici") 

Dacă ați putut observa paranteza după instrucțiunea InputBox, acestea sunt necesare pentru că folosim această instrucțiune pentru o variabilă „Nume”. De îndată ce devine o valoare care trebuie acordată unei variabile, ea trebuie menționată într-un format adecvat cu paranteză.

  • Acum, indiferent de valoarea pe care utilizatorul a introdus-o în caseta de dialog, dorim să o vedem în celula A1 din foaia Excel. Puneți următoarea afirmație pentru aceeași în VBE: Interval („A1”). Valoare = Nume.

Cod:

 Sub InputBoxEX () Dim Name As Variant Name = InputBox ("Pot să știu numele tău?", "Informații personale", "Start Typing Here") Interval ("A1"). Value = Name Sub Sub 

Acesta este, acum hai să rulăm acest cod și să vedem cum funcționează.

  • Faceți clic pe butonul Run sau apăsați F5 pentru a rula acest cod, veți primi următoarea casetă de dialog. Scrieți-vă numele în caseta de dialog care apare cu numele „Informații personale” și apăsați OK pentru a vedea unde se tipărește ieșirea.

  • Imediat ce introduceți valoarea și faceți clic pe OK, puteți vedea valoarea introdusă în celula A1. Vezi imaginea de mai jos.

Orice valoare poate fi stocată folosind InputBox dacă variabila este definită corect. În acest caz, ați definit variabila „Nume” ca „Variantă”. Variantul tip de date poate lua orice valoare de date așa cum am spus mai devreme.

Vezi exemplul de mai jos:

Dau un număr ca argument la caseta de dialog când apare. Vezi mai jos:

Faceți clic pe OK, vedeți ieșirea de mai jos:

Valoarea din celula A1 este modificată în 2019.

Acum, să schimbăm tipul variabilei la Date.

Cod:

 Sub InputBoxEX () Dim Nume ca dată Nume = InputBox ("Pot să vă cunosc numele?", "Informații personale", "Începeți să scrieți aici") Interval ("A1"). Valoare = Nume Sub 

Rulați codul și încercați să introduceți altă valoare decât data. Voi introduce numele meu propriu și voi face clic pe OK.

  • După ce faceți clic pe OK, a apărut un mesaj de eroare în timpul executării care spune „Tip nepotrivire”.

A apărut deoarece tipul de nume de variabilă este Date acum și am dat argument de intrare, altul decât valoarea datei (un nume de șir). Datorită căruia acest cod nu se execută și aruncă o eroare.

Validarea intrării utilizatorului

Ce se întâmplă dacă vă spun că intrarea utilizatorului poate fi restricționată? Da este adevarat! Puteți restricționa intrarea utilizatorului la caractere, numere sau logică etc.

Pentru a restricționa intrarea utilizatorului, puteți utiliza Application.InputBox.

Sintaxa pentru Application.InputBox este următoarea:

Unde,

Prompt - Mesaj care apare pentru utilizator.

Titlu - Titlul casetei de dialog.

Default - Valoarea implicită care apare în zona de tastare sub caseta de dialog.

Tip - tipul de intrare.

Acestea sunt singurele argumente importante care sunt suficiente pentru a rula această afirmație.

Să începem acest lucru prin exemplu.

  • Declarați o variabilă Nume ca variantă.

Cod:

 Sub InputBoxEX () Dim Dim Ca variantă Sub Variant End 

Alocați Application.InputBox variabilei numite Nume cu aceleași argumente ca și cele pe care le-ați folosit InputBox. adică prompt, titlu și implicit. Vedeți codul de mai jos:

Cod:

 Sub InputBoxEX () Dim Dim ca nume de variantă = Application.InputBox ("Pot să vă cunosc numele?", "Informații personale", "Începeți să scrieți aici") 

Acum, pune virgula de 5 ori pentru a ignora stânga, partea de sus, HelpFile și HelpContextID. După 5 virgule, puteți specifica tipul de intrare.

Cod:

 Sub InputBoxEX () Dim Nume ca variantă Nume = Application.InputBox ("Pot să vă cunosc numele?", "Informații personale", "Începeți să scrieți aici",,,, 

Tipul șirului de introducere are validările menționate mai jos:

  • Să alegem 1 ca tip în declarația noastră. Înseamnă că numai numerele / valorile numerice sunt acceptabile în caseta de dialog care apare.

Cod:

 Sub InputBoxEX () Dim Nume ca variantă Nume = Application.InputBox ("Pot să vă cunosc numele?", "Informații personale", "Începeți să scrieți aici",,,, 1) Finalizare Sub 

  • Rulați manual codul sau folosind tasta F5 și dați numele ca o intrare în zona de tastare, așa cum se arată mai jos. Apoi faceți clic pe OK și vedeți Ieșirea.

Se spune că numărul nu este valid. Acest lucru pare logic deoarece am setat tipul de intrare variabilă ca număr și oferim textul ca o intrare care nu este acceptată de sistem.

În acest fel, puteți restricționa utilizatorul să introducă doar valorile pe care doriți să le vedeți prin InputBox.

Lucruri de amintit

  • InputBox acceptă până la 255 de argumente și poate afișa doar 254. Așa că fiți precaut cu privire la lungimea maximă pe care un utilizator o poate introduce.
  • Metoda de aplicare poate fi utilizată pentru a seta tipul de date de intrare. Cu toate acestea, dacă nu este utilizat, atunci trebuie să fiți mai specific cu privire la tipul de date de intrare.
  • Se recomandă să alegeți un tip de date variantă, deoarece poate reține oricare dintre numerele / textul / logica etc. B = valori.

Articole recomandate

Acesta a fost un ghid pentru VBA InputBox. Aici am discutat despre cum să creăm InputBox în Excel folosind codul VBA, împreună cu exemple practice și șablon Excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Cum se utilizează funcția FIND în Excel
  2. Crearea funcției VBA în Excel
  3. Ghid pentru gama în Excel
  4. Cum se utilizează funcția VBA VLOOKUP?

Categorie: