Formulari d'usuari VBA d'Excel | Com es crea un formulari d’usuari interactiu?

Formulari d’usuari Excel VBA

Formulari d'usuari a VBA són formularis personalitzats definits per l'usuari que es fan per rebre l'entrada d'un usuari en el format d'un formulari, té diferents conjunts de controls per afegir, com ara quadres de text, etiquetes de caselles de selecció, etc. per guiar l'usuari a introduir un valor i emmagatzema el valor del full de treball, cada part del formulari d'usuari té un codi únic.

Userform és un objecte de la interfície d'Excel i, dins d'aquest formulari d'usuari, podem crear altres quadres de diàleg personalitzats útils per obtenir les dades de l'usuari. Quan esteu treballant amb un fitxer de macro creat per la vostra persona major o que es pot descarregar des d'Internet, haureu vist un formulari d'usuari com aquest.

En aquest article, us mostrarem com crear un formulari d’usuari similar per emmagatzemar les dades de l’usuari.

Com es crea un formulari d'usuari?

Igual que com inseriu un mòdul nou de manera similar, heu de fer clic al botó INSERTAR de Visual Basic Editor per inserir el formulari d'usuari.

Podeu descarregar aquesta plantilla VBA Userform Excel aquí - Plantilla VBA Userform Excel

Tan bon punt feu clic a sobre, també s'inserirà el formulari d'usuari.

Abans de dir-vos com programar això, deixeu-me mostrar-vos com formatar aquest formulari d'usuari.

Format del formulari d'usuari

En seleccionar el formulari d’usuari, premeu la tecla F4, us mostrarà la finestra de propietats.

Mitjançant aquesta finestra de propietats podem formatar aquest formulari d’usuari, el podem anomenar, podem canviar el color, l’estil de la vora, etc.

Així, proveu altres propietats per veure la forma d'usuari.

Ara, per a aquest formulari d'usuari, inseriu Toolbox.

Ara veurem una caixa d’eines com aquesta.

En aquest moment el formulari d'usuari s'acaba d'inserir i no està programat. Per saber com funciona, feu clic al botó d'execució, veurem el formulari al full de treball d'Excel.

Ara utilitzeu l’etiqueta de dibuix de la caixa d’eines.

Introduïu el text com a nom de l’empleat dins de l’etiqueta.

Per a aquesta etiqueta, podem formatar mitjançant propietats. Ara hem introduït el text com a "Nom del treballador". Ara ho podem veure a la finestra de propietats de Subtítols.

Inseriu una etiqueta més. Per inserir una etiqueta més, podeu fer clic a una caixa d'eines o arrossegar l'etiqueta actual mantenint premuda Ctrl clau, tindreu una rèplica de l'etiqueta actual.

Ara tindrem la mateixa etiqueta.

Canvieu el nom per ID d'empleat.

Ara, de manera similar, inseriu una etiqueta més i anomeneu-la com a "Departament".

Ara, des de la caixa d’eines, inseriu un quadre de text.

Anomeneu aquest quadre de text com a EmpName a la finestra de propietats.

Així, inseriu dos quadres de text més des de la secció Identificació i departament dels empleats respectivament. Anomeneu els quadres de text segons el seu encapçalament.

De la mateixa manera, feu-ho pel departament.

Ara des de la caixa d’eines, inseriu el botó d’ordres.

Canvieu el nom del botó d'ordres a "SubmitButton" i canvieu la llegenda a "Presentar".

Inseriu un botó més i anomeneu-lo "Cancel·la".

Ara només per veure córrer premeu el botó d'execució o utilitzeu la tecla F5 i veure com queda el vostre formulari d'usuari a Excel.

Ara està prenent forma.

Codi VBA

Ara l’usuari introduirà dades en això, per tant, hem de programar-les per emmagatzemar les dades introduïdes per l’usuari en aquest formulari.

Feu doble clic al botó ENVIAR i us portarà a la finestra de macro amb una macro creada automàticament, com la següent.

Es diu que feu clic a SubmitButton, recordeu que havíem donat un nom al botó ENVIAR com a SubmitButton.

Per tant, sempre que vulguem trucar a aquest botó, podem anomenar-lo amb aquest nom (botó d’enviament). Dins d'aquesta macro, copieu i enganxeu el codi següent.

Codi:

 Private Sub SubmitButton_Click () Dim LR As Long LR = Cells (Rows.Count, 1). End (xlUp) .Row + 1 Cells (LR, 1) .Value = EmpName.Value Cells (LR, 2) .Value = EmpID .Value Cells (LR, 3) .Value = Dept.Value EmpName.Value = "" EmpID.Value = "" Dept.Value = "" End Sub 

  • EmpName.Value aquí EmpName és el nom del quadre de text que havíem donat en crear el quadre de text del nom dels empleats.
  • EmpID.Valor aquí EmpID és el nom del quadre de text del quadre de text Identificació dels empleats.
  • Valor del departament aquest és el nom del quadre de text del departament.

Per tant, en fer clic al botó Envia, emmagatzemarà els valors a les cel·les esmentades.

Ara feu doble clic al botó Cancel·la, també us mostrarà el nom de la macro automàtica així.

Copieu el codi següent i enganxeu-lo.

Codi:

 Private Sub CancelButton_Click () MyUserForm.Hide End Sub 

MyUserForm és el nom que havíem donat al formulari d'usuari. MyUserForm.Hide significa que en fer clic al botó CANCEL·lar ocultarà la forma d'usuari.

D'acord, ara creeu una plantilla com aquesta al full de treball.

Suprimiu tots els altres fulls del llibre, excepte aquest full de plantilla.

Ara aneu a Visual Basic Editor.

I executeu la macro amb la tecla F5 o manualment, veurem el formulari d’usuari al davant.

Introduïu el nom de l’empleat, l’identificador de l’empleat i el nom del departament.

Ara, si feu clic al botó ENVIAR, emmagatzemarà els valors a la plantilla que hem creat.

Així podeu continuar introduint els noms, userform continuarà emmagatzemant els valors introduïts per l'usuari a les cel·les especificades.

Per tant, mitjançant l’USUARI FORMULARI podem crear projectes meravellosos per obtenir informació de l’usuari.