Excel 97 introdujo nuevos formularios de usuario. En inglés, enséñame a crear y usar un cuadro de lista.
MrExcel completó recientemente una aplicación personalizada para uno de nuestros lectores. En esta aplicación de Excel, el usuario ingresaría 150 puntos de datos para un número de pieza específico en la hoja.
1. Con solo hacer clic en un botón, este número de pieza y los valores de datos asociados se guardan en una base de datos en Sheet2. Esto estaba bien, pero luego necesitábamos una forma para que el usuario recuperara un registro de la hoja 2 para que pudieran revisar las entradas. Quería permitirle al usuario abrir un formulario con un cuadro desplegable que muestra todos los elementos en la hoja
2. El usuario puede desplazarse, elegir un elemento y luego extraer esos valores de la hoja 2 a la hoja 1.
Como muchos de ustedes, comencé a escribir macros de Excel en Excel 5.0. Todo este editor de macros en Excel 97 es un poco intimidante. Para el consejo de esta semana, le mostraré, paso a paso, cómo crear el cuadro de lista para este proyecto. El enfoque de esta semana está solo en el cuadro combinado. El público objetivo es alguien que conoce los conceptos básicos de las macros de Excel, pero que nunca ha utilizado un formulario para interactuar con una macro.
Primer paso: cambié las macros existentes para que cuando agregaran un registro a sheet2, la macro nombrara el rango que contiene los números de pieza que se llamará "PartList". Hay un encabezado en la celda A1, con el primer elemento en la celda A2. Usé el comando Finalizar para encontrar la última fila:
LastRow = Range("A6000").End(xlUp).Row ActiveWorkbook.Names.Add Name:="PartList", RefersTo:="=Sheet2!$A$2:$A$" & LastRow
Segundo paso: Diseñe el formulario del cuadro de lista. Sigue estos pasos:
- Inicie el Editor de Visual Basic presionando alt-F11
- En el menú, seleccione Insertar> Formulario de usuario. El editor debería darle un UserForm1 en blanco.
- Si no ve el cuadro Propiedades-UserForm1 en la esquina inferior izquierda, presione el icono "Ventana de propiedades" - parece una mano con un dedo apuntando a una hoja blanca.
- La cuarta entrada en la ventana de propiedades es Título. En este momento, el título será UserForm1. Haga clic en el cuadro a la derecha de Título en la ventana Propiedades y escriba un nuevo título para el formulario. Llamé al mío "Seleccione un número de pieza para revisar". Dejé todas las demás propiedades del formulario en su estado predeterminado.
Creación de cuadro de lista mediante formulario de usuario - Haga clic en cualquier lugar dentro del formulario de usuario nuevamente y aparecerá la Caja de herramientas de controles.
- En el cuadro de herramientas Controles, elija la letra A. Haga clic y arrastre para crear un cuadro de etiqueta en la parte superior del formulario. De forma predeterminada, tiene un título de Label1. Haga clic dentro del cuadro de texto nuevamente y podrá editar el título. Dé instrucciones al usuario aquí: "Elija un elemento de la lista a continuación y haga clic en Aceptar para revisar los valores".
- Haga clic en el formulario, pero fuera del cuadro de la etiqueta y verá nuevamente la caja de herramientas de control. El cuarto elemento de la fila superior es una herramienta de cuadro combinado. Haga clic aquí y arrastre en el formulario de usuario para crear un cuadro combinado. Aquí es donde aparecerá la lista de números de pieza. El nombre predeterminado es ComboBox1.
Propiedades del cuadro combinado - La ventana de propiedades ahora le mostrará las propiedades de ComboBox1. Desplácese hacia abajo por las propiedades hasta que vea la propiedad RowSource. Para la propiedad RowSource, escriba = Sheet2! PartList
- Ahora puede ejecutar una prueba rápida para asegurarse de que todo funcione correctamente. Haga clic en la barra de título de su formulario de usuario para seleccionar el formulario completo. Ahora haga clic en el icono "reproducir" (parece el botón de reproducción en su VCR). Volverá a su libro de Excel y tendrá nuestro formulario de usuario simple. Si hace clic en el menú desplegable de número de pieza, debería ver una lista de números de pieza válidos. Elija uno y permanecerá en el cuadro combinado. Hasta ahora, no es demasiado emocionante. Haga clic en la pequeña X en la esquina superior derecha para cerrar el cuadro.
- Regrese al editor de Visual Basic. Haga clic en el formulario de usuario para mostrar la Caja de herramientas de control. Haga clic en la herramienta CommandButton y dibuje un botón. Cambie el título para que esté bien usando Propiedades - Ventana CommandButton1.
- Dibuja un segundo botón y etiquétalo como Cancelar.
- Casi terminamos. Atemos un poco de código al botón Cancelar. Haga clic derecho en el botón Cancelar y seleccione "Ver código". El editor configurará sus declaraciones Sub y End Sub. Entre ellos, escriba una línea de código:
UserForm1.Hide
- Sí, eso es todo lo que hay que hacer para asignar un código a un botón. Para volver al formulario de usuario, haga doble clic en las palabras UserForm1 en la ventana del proyecto. (¿No puede ver la ventana del proyecto? Presione el ícono del Explorador de proyectos, justo a la izquierda del ícono Propiedades).
- Para finalizar el formulario de usuario 1, hagamos algo con el botón Aceptar. Cuando el usuario hace clic en Aceptar, quiero que el valor del cuadro de lista aparezca en la celda A2 de la hoja1 y luego quiero iniciar una macro que había escrito anteriormente llamada ReviewItem. Haga clic con el botón derecho en el botón Aceptar y seleccione Ver código. Ingrese este código para Private Sub CommandButton1_Click ():
Worksheets("Sheet1").Range("A2") = UserForm1.ComboBox1.Value UserForm1.Hide ReviewItem
¡Felicidades! Ha terminado su primer formulario de usuario. Para que aparezca el formulario, ejecute una macro que tenga esta línea:
UserForm1.Show
El formulario se verá así: