Cómo crear un UserForm en Excel para facilitar la entrada de datos

Cuando necesitas un proceso de entrada de datos fácil de usar, crea un Formulario de Usuario en Excel. Los usuarios que no están familiarizados con Excel encontrarán que estos formularios son mucho más fáciles de navegar que una hoja. Además de ser fáciles de usar, son herramientas excelentes para restringir las opciones. En este artículo, te mostraré cómo crear un objeto de Formulario de Usuario, agregar controles a él y luego usar Visual Basic para Aplicaciones (VBA) para enlazar los controles a una hoja. Puedes trabajar con tus propios datos o descargar los archivos de ejemplo .xls o .xlsm.

LEER MÁS: Precios y características de Office 365 Consumer

Índice de Contenido
  1. Sobre los datos
  2. Crea el Formulario de Usuario
  3. Agrega controles
  4. Agrega código
  5. Acceso mediante el botón de macro
  6. Usa el Formulario de Usuario
  7. Vale la pena mencionarlo
  8. Envíame tu pregunta sobre Office

Sobre los datos

Un Formulario de Usuario guía la entrada de datos, por lo que lo primero que necesitas es un rango de datos. La Figura A muestra el conjunto de datos simple con el que vamos a trabajar. El libro de trabajo debe estar habilitado para macros si estás utilizando la versión 2007 o posterior. Haz clic en la pestaña Archivo (o botón de Office) y elige Guardar como. Elije una ubicación según sea necesario. En el menú desplegable Guardar como tipo, elige Libro habilitado para macros de Excel (*.xlsm).

Figura A

Cómo crear un UserForm en Excel para facilitar la entrada de datos - Microsoft | Imagen 1 Newsmatic

Vamos a crear un Formulario de Usuario simple que ayudará a los usuarios a ingresar nuevos registros en este conjunto de datos.

Crea el Formulario de Usuario

Con un poco de datos en una hoja de cálculo, estás listo para pasar al Editor de Visual Basic (VBE) para crear el Formulario de Usuario:

Cómo utilizar un UserForm para facilitar la entrada de datos en Excel
  1. Pulsa [Alt]+[F11] para abrir el VBE.

Agrega controles

El Formulario de Usuario en blanco está listo para recibir controles de entrada. Vamos a agregar algunos controles de cuadro de texto, cuadro de lista y botón de comando. Para agregar el primer cuadro de texto, sigue estos pasos:

  1. Con el Formulario de Usuario seleccionado, haz clic en Cuadro de Texto en la Caja de Herramientas y luego colócalo en el formulario. Si la Caja de Herramientas no es visible, asegúrate de hacer clic en el Formulario de Usuario. Está visible cuando el Formulario de Usuario está seleccionado.

Usando la Figura E como guía, agrega los controles adicionales enumerados en la Tabla A y asígnales nombres. Las etiquetas no son necesarias en este ejemplo simple, pero al crear un Formulario de Usuario para tus propios datos, probablemente quieras incluirlas. Cuando lo hagas, los nombres predeterminados de Excel suelen ser adecuados. Introduce una leyenda descriptiva para cada etiqueta y los dos botones de comando. Es una buena idea guardar tu trabajo a medida que avanzas.

Figura E

Cómo crear un UserForm en Excel para facilitar la entrada de datos - Microsoft | Imagen 2 Newsmatic

Agrega los controles restantes.

Tabla A

Cómo crear un UserForm en Excel para facilitar la entrada de datos - Microsoft | Imagen 3 Newsmatic

Cómo usar la función de vista de tareas en Windows 10

Agrega código

El código detrás del formulario es lo que lo hace funcionar. No dejes que la cantidad de código te intimide. El botón de comando Guardar hace la mayor parte del trabajo. Una vez que ingreses todos los valores, el código de este botón transferirá los valores ingresados a la hoja. Para agregar código, haz doble clic en el Formulario de Usuario para abrir su módulo y luego ingresa los procedimientos de la Lista A. (No intentes copiar y pegar desde esta página web porque el VBE podría objetar algunos caracteres web. En su lugar, descarga uno de los archivos de ejemplo: Module1.bas o ufrmAnimals.frm.)

Lista A

Private Sub cboClass_DropButtonClick()
    'Popula el control.
    Me.cboClass.AddItem "Amphibian"
    Me.cboClass.AddItem "Bird"
    Me.cboClass.AddItem "Fish"
    Me.cboClass.AddItem "Mammal"
    Me.cboClass.AddItem "Reptile"
End Sub

Private Sub cboConservationStatus_DropButtonClick()
    'Popula el control.
    Me.cboConservationStatus.AddItem "Endangered"
    Me.cboConservationStatus.AddItem "Extirpated"
    Me.cboConservationStatus.AddItem "Historic"
    Me.cboConservationStatus.AddItem "Special concern"
    Me.cboConservationStatus.AddItem "Stable"
    Me.cboConservationStatus.AddItem "Threatened"
    Me.cboConservationStatus.AddItem "WAP"
End Sub

Private Sub cboSex_DropButtonClick()
    'Popula el control.
    Me.cboSex.AddItem "Female"
    Me.cboSex.AddItem "Male"
End Sub

Private Sub cmdAdd_Click()
    'Copia los valores ingresados a la hoja.
    Dim lRow As Long
    Dim ws As Worksheet
    Set ws = Worksheets("Animals")
    lRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
    With ws
        .Cells(lRow, 1).Value = Me.cboClass.Value
        .Cells(lRow, 2).Value = Me.txtGivenName.Value
        .Cells(lRow, 3).Value = Me.txtTagNumber.Value
        .Cells(lRow, 4).Value = Me.txtSpecies.Value
        .Cells(lRow, 5).Value = Me.cboSex.Value
        .Cells(lRow, 6).Value = Me.cboConservationStatus.Value
        .Cells(lRow, 7).Value = Me.txtComment.Value
    End With
    'Limpia los controles de entrada.
    Me.cboClass.Value = ""
    Me.txtGivenName.Value = ""
    Me.txtTagNumber.Value = ""
    Me.txtSpecies.Value = ""
    Me.cboSex.Value = ""
    Me.cboConservationStatus.Value = ""
    Me.txtComment.Value = ""
End Sub

Private Sub cmdClose_Click()
    'Cierra el Formulario de Usuario.
    Unload Me
End Sub

Los primeros tres procedimientos populan los tres controles de cuadro de lista. El cuarto procedimiento, cmdAdd_Click(), copia los valores ingresados desde el Formulario de Usuario al rango de datos en la hoja y luego limpia los controles para que puedas ingresar otro registro. De esta manera, el usuario puede ingresar varios registros rápidamente. El último procedimiento, cmdClose_Click(), cierra el Formulario de Usuario.

El procedimiento en la Lista B abre el Formulario de Usuario. En la siguiente sección, agregaremos un botón de macro que llame a este procedimiento en la Barra de Acceso Rápido (BAR). No agregues este procedimiento al módulo del Formulario de Usuario. En su lugar, elige Módulo en el menú Insertar y agrega el procedimiento breve.

Lista B

Sub ShowAnimalsUF()
    'Muestra el Formulario de Usuario de Animales.
    ufrmAnimals.Show Modal
End Sub

Acceso mediante el botón de macro

Al agregar un botón de macro a la BAR, los usuarios tendrán acceso rápido y fácil al Formulario de Usuario. Para agregar el botón, sigue estos pasos:

Cómo crear y utilizar campos de búsqueda en Microsoft Access
  1. Haz clic en la lista desplegable de la BAR y elige Más comandos.
  2. En la lista desplegable Elegir comandos de, elige Macro.
  3. Haz clic en Cerrar.

Usa el Formulario de Usuario

Para usar el Formulario de Usuario, haz clic en el botón de macro en la BAR para mostrarlo, ¿fue fácil no? Utiliza las listas desplegables para elegir valores para los controles de cuadro de lista e ingresa valores para los controles de cuadro de texto. La Figura G muestra un nuevo registro en el Formulario de Usuario.

Figura G

Agrega un nuevo registro.

Para copiar esos valores a la hoja de cálculo, haz clic en el botón Guardar Animal. El código del Formulario de Usuario copiará los valores de los controles del Formulario de Usuario a la hoja y limpiará los controles para que puedas ingresar otro registro, como se muestra en Figura H. Para cerrar el formulario, haz clic en el botón Cerrar.

Figura H

Cómo crear un UserForm en Excel para facilitar la entrada de datos - Microsoft | Imagen 4 Newsmatic

Copia los valores en la hoja de cálculo.

Vale la pena mencionarlo

Ninguno de los códigos guarda automáticamente el registro una vez que se ha copiado a la hoja. Debes recordar guardar el libro para guardar los nuevos registros a nivel de hoja. Puedes agregar código adecuado al Formulario de Usuario o permitir que los usuarios lo hagan ellos mismos. Además, en este código básico, no se manejan los errores ni se valida los datos. Usar un cuadro de lista o una lista desplegable te ayuda a limitar las opciones, pero necesitarás código adicional para proteger la validez de los valores de texto y números, y para obligar a los usuarios a ingresar valores en campos obligatorios. Como puedes ver, el formulario de ejemplo permite al usuario dejar campos vacíos.

Dónde encontrar los controles del Charms Bar en Windows 10

Envíame tu pregunta sobre Office

Respondo las preguntas de los lectores cuando puedo, pero no hay garantía. Al contactarme, sé lo más específico posible. Por ejemplo, "Por favor, soluciona los problemas de mi libro de trabajo y corrige lo que está mal" probablemente no recibirá una respuesta, pero "¿Me puedes decir por qué esta fórmula no está dando los resultados esperados?" podría sí obtener una respuesta. No recibo ninguna compensación de Newsmatic por mi tiempo o experiencia, ni les cobro ninguna tarifa a los lectores. Puedes contactarme en [email protected].

Divulgación de afiliados: Newsmatic puede recibir una comisión por los productos y servicios presentados en esta página.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Microsoft, allí encontraras muchos artículos similares a Cómo crear un UserForm en Excel para facilitar la entrada de datos , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.