Funció VBA InputBox | Com es creen InputBox i emmagatzemen valors?

Excel VBA InputBox

VBA InputBox és una funció incorporada que s’utilitza per obtenir un valor de l’usuari, aquesta funció té dos arguments principals en què un és l’encapçalament del quadre d’entrada i un altre és la pregunta per al quadre d’entrada, la funció de quadre d’entrada només pot emmagatzemar els tipus de dades que introdueix. variable pot contenir.

Sovint a Excel, fem servir les dades que ja hi ha al full Excel. De vegades també necessitem algun tipus de dades d’entrada dels usuaris. Especialment en l’entrada VBA de l’usuari sovint es requereix.

En utilitzar InputBox podem obtenir les dades de l’usuari i utilitzar-les per al nostre propòsit. Un InputBox demanarà a l'usuari que introdueixi el valor mostrant-lo.

Sintaxi

  • Pregunta: Això no és res més que el missatge a l’usuari mitjançant un quadre d’entrada.
  • Títol: Quin és el títol del quadre d’entrada?
  • Valor per defecte: Quin és el valor per defecte de la caixa d’entrada? Aquest valor apareix a l'àrea d'escriptura del quadre d'entrada.

Aquests tres paràmetres són prou bons a Excel, ignoreu els altres 4 paràmetres opcionals. Per entendre aquesta sintaxi, consulteu la captura de pantalla següent.

Com es crea InputBox a VBA?

D’acord, fem salt directe a la pràctica. Seguiu els passos següents per crear la vostra primera caixa d’entrada.

Podeu descarregar aquesta plantilla Excel de VBA InputBox aquí: plantilla Excel de VBA InputBox

Pas 1: Aneu a VBE (Visual Basic Editor) i inseriu un mòdul nou.

Pas 2: Feu doble clic al mòdul inserit i creeu un nom de macro.

Pas 3: Comenceu a escriure la paraula "InputBox" i veureu les opcions relacionades.

Pas 4: Seleccioneu la caixa d’entrada i doneu espai i veureu la sintaxi de la caixa d’entrada.

Pas 5: Envieu la sol·licitud com a "Introduïu el vostre nom".

Pas 6: Escriviu el títol de la caixa d'entrada com a "Informació personal".

Pas 7: Escriviu el valor per defecte com a "Escriviu aquí"

Pas 8: Hem acabat. Executeu aquest codi i consulteu el vostre primer quadre d’entrada.

Emmagatzemeu el valor d’InputBox a les cel·les

Ara passarem pel procés d’emmagatzemar valors a les cel·les. Seguiu els passos següents.

Pas 1: Declaració de la variable com a variant.

Codi:

 Sub InputBox_Example () Dim i as Variant End Sub 

Pas 2: Per a aquesta variable assigneu el valor a través de la caixa d'entrada.

Codi:

 Sub InputBox_Example () Dim i As Variant i = InputBox ("Introduïu el vostre nom", "Informació personal", "Escriviu aquí") 

Nota: Un cop el quadre d’entrada apareix a la dreta del signe igual, hem d’introduir els arguments o la sintaxi entre claudàtors com les nostres fórmules regulars.

Pas 3: Ara sigui quin sigui el valor que s’hagi escrit al quadre d’entrada, hem de desar-lo a la cel·la A1. Per això, escriviu el codi com Interval ("A1"). Valor = i

Codi:

 Sub InputBox_Example () Dim i as Variant i = InputBox ("Introduïu el vostre nom", "Informació personal", "Escriviu aquí") Interval ("A1"). Valor = i Finalitza el sub 

D’acord, ja hem acabat. Executem aquest codi ara prement la tecla F5 o també podeu executar-lo manualment, tal com es mostra a la captura de pantalla següent.

Tan bon punt executeu aquest codi, veurem el quadre d’entrada.

Escriviu el nom i feu clic a Ok.

Tan bon punt escriviu el nom i feu clic a D'acord, veureu el valor de la caixa d'entrada a la cel·la A1.

Nota: Podem emmagatzemar qualsevol valor de la caixa d’entrada si la variable es defineix correctament. A l'exemple anterior, he definit la variable com Variant que pot contenir tot tipus de dades.

Per exemple, ara he canviat el tipus de variable a Data.

Ara executeu el codi i escriviu diferent de la data.

Feu clic a D'acord i veureu la resposta.

Tenim el valor d'error com No coincideixen els tipus. Com que hem declarat el tipus de dades variable com a DATE, no podem emmagatzemar res que no sigui DATE amb una caixa d’entrada.

Ara introduïu la data i veureu què passa.

Tan bon punt escriviu la data i feu clic a D'acord i veureu quina és la resposta.

Com que hem introduït el valor correcte, obtenim el resultat a la cel·la.

Validació de l'entrada de l'usuari

Sabeu què podem permetre als usuaris introduir només un valor específic, és a dir, permetre que l'usuari introdueixi només text, només número, només valors lògics, etc.

Per realitzar aquesta tasca, hem d’utilitzar el mètode Application.InputBox.

Vegem la sintaxi de Application.InputBox.

 

  • Pregunta: Això no és res més que el missatge a l’usuari mitjançant un quadre d’entrada.
  • Títol: Quin és el títol del quadre d’entrada?
  • Valor per defecte: Quin és el valor per defecte del quadre d'entrada? Aquest valor apareix a l'àrea d'escriptura del quadre d'entrada.
  • Esquerra: Quina ha de ser la posició x del quadre d'entrada a la finestra actual?
  • Superior: Quina ha de ser la posició y del quadre d'entrada a la finestra actual?

Per iniciar aquesta caixa d’entrada, declareu la variable i assigneu el valor a una variable.

Ara assignar valor per començar la paraula Aplicació.

Després de la paraula Aplicació, poseu un punt (.) I escriviu Inputbox.

Seleccioneu el quadre d’entrada i obriu el claudàtor.

Com és habitual, introduïu Preguntes, títols i valor predeterminat.

Ara ignoreu l’esquerra, la part superior, el fitxer d’ajuda i l’identificador de context d’ajuda escrivint 5 comes (,).

Aquí Tipus significa el que hauria de ser la cadena d'entrada. A continuació es mostren les validacions disponibles.

Per tant, en conseqüència, seleccioneu el vostre tipus. He seleccionat 1 com a paràmetre, és a dir, només números.

Ara executeu el codi i el tipus de valor de text.

Feu clic a D'acord i veureu què passa.

Es diu que el número no és vàlid. Per tant, només podem introduir números en aquest quadre d’entrada.

Coses que cal recordar

  • Necessitem una variable per emmagatzemar el valor que dóna el quadre d’entrada.
  • Si utilitzeu InputBox sense el mètode Application, hauríeu de ser perfectes sobre el tipus de dades variables.
  • Utilitzeu tipus de dades variant que pot contenir qualsevol tipus de tipus de dades i emmagatzemar-los.