¿Cómo rellenar un cuadro de texto basado en la selección de un cuadro combinado en un UserForm en Excel?
Supongamos que tienes una tabla que contiene una columna de Nombre y otra de Número de empleado, como se muestra en la siguiente captura de pantalla. Ahora necesitas crear un UserForm con un cuadro combinado que recoja todos los nombres y un cuadro de texto que muestre el número de empleado correspondiente al seleccionar un nombre del cuadro combinado. El método descrito en este artículo puede ayudarte a lograrlo.
Rellenar un cuadro de texto basado en la selección de un cuadro combinado en un UserForm con VBA
Rellenar un cuadro de texto basado en la selección de un cuadro combinado en un UserForm con VBA
Por favor, sigue los siguientes pasos para rellenar el cuadro de texto con el valor correspondiente según la selección del cuadro combinado en el UserForm.
1. Presiona las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. En la ventana de Microsoft Visual Basic para Aplicaciones, haz clic en Insertar > UserForm. Ver captura de pantalla:
3. Luego, inserta un control de cuadro combinado y un control de cuadro de texto en el UserForm creado, como se muestra en la siguiente captura de pantalla.
4. Haz clic derecho en cualquier espacio en blanco del UserForm y luego haz clic en Ver Código en el menú contextual. Ver captura de pantalla:
5. En la ventana de código del UserForm que se abre, copia y pega el siguiente código VBA para reemplazar el original.
Código VBA: Rellenar un cuadro de texto basado en la selección de un cuadro combinado en un UserForm
Dim xRg As Range
'Updated by Extendoffice 2018/1/30
Private Sub UserForm_Initialize()
Set xRg = Worksheets("Sheet5").Range("A2:B8")
Me.ComboBox1.List = xRg.Columns(1).Value
End Sub
Private Sub ComboBox1_Change()
Me.TextBox1.Text = Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, xRg, 2, False)
End Sub
Nota: En el código, A2:B2 es el rango que contiene los valores que se mostrarán por separado tanto en el cuadro combinado como en el cuadro de texto del UserForm. Y Sheet5 es el nombre de la hoja de cálculo que contiene el rango de datos. Por favor, cámbialos según sea necesario.
6. Presiona las teclas Alt + Q para salir de la ventana de Microsoft Visual Basic para Aplicaciones.
7. Haz clic en Desarrollador > Insertar > Botón de Comando (Control ActiveX) para insertar un botón de comando en la hoja de trabajo.
8. Haz clic derecho en la pestaña de la hoja y selecciona Ver Código desde el menú contextual. Luego, copia y pega el código VBA en la ventana de código.
Código VBA: Mostrar UserForm
Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
UserForm1.Show
End Sub
9. Desactiva el Modo Diseño en el libro.
Haz clic en el botón de comando para abrir el UserForm especificado. Luego puedes ver que todos los nombres están recopilados en el cuadro combinado. Al seleccionar un nombre del cuadro combinado, el número de empleado correspondiente se rellenará automáticamente en el cuadro de texto, como se muestra en la siguiente captura de pantalla.
Artículos relacionados:
- ¿Cómo rellenar un cuadro combinado con datos específicos al abrir el Libro de Trabajo?
- ¿Cómo rellenar automáticamente otras celdas al seleccionar valores en una lista desplegable de Excel?
- ¿Cómo rellenar automáticamente otras celdas al seleccionar valores en una lista desplegable de Excel?
- ¿Cómo rellenar los resultados de búsqueda de Google en una hoja de trabajo en Excel?
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!