Note: The other languages of the website are Google-translated. Back to English
Iniciar sesión  \/ 
x
or
x
Inscríbete  \/ 
x

or

¿Cómo rellenar el cuadro de texto según la selección del cuadro combinado en UserForm en Excel?

Supongamos que tiene una tabla que contiene un nombre y una columna de número de personal como se muestra a continuación. Ahora necesita crear un formulario de usuario incrustado con un cuadro combinado que recopile todos los nombres dentro y un cuadro de texto que llenará el número de personal correspondiente al seleccionar el nombre del cuadro combinado. El método de este artículo puede ayudarte a conseguirlo.

Complete el cuadro de texto según la selección del cuadro combinado en Userform con VBA


Complete el cuadro de texto según la selección del cuadro combinado en Userform con VBA

Haga lo siguiente para completar el cuadro de texto con el valor correspondiente según la selección del cuadro combinado en el formulario de usuario.

1. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Formulario de usuario. Ver captura de pantalla:

3. Luego inserte un control de cuadro combinado y un control de cuadro de texto en el formulario de usuario creado como se muestra a continuación.

4. Haga clic con el botón derecho en cualquier espacio en blanco del formulario de usuario y luego haga clic en Ver código desde el menú contextual. Ver captura de pantalla:

5. En la ventana de apertura del formulario de usuario (código), copie y pegue el siguiente código VBA para reemplazar el original.

Código de VBA: rellene el cuadro de texto según la selección del cuadro combinado en el formulario de usuario

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 completará por separado tanto en el cuadro combinado de formulario de usuario como en el cuadro de texto. Y Sheet5 es el nombre de la hoja de trabajo que contiene el rango de datos. Cámbielos según sea necesario.

6. presione el otro + Q llaves para salir del Microsoft Visual Basic para aplicaciones ventana.

7. Hacer clic Desarrollador > recuadro > Botón de comando (control ActiveX) para insertar un botón de comando en la hoja de trabajo.

8. Haga clic con el botón derecho en la pestaña de la hoja y seleccione Ver código desde el menú contextual. Luego copie y pegue el código VBA en la ventana de código.

Código de VBA: mostrar formulario de usuario

Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
    UserForm1.Show
End Sub

9. Desactive el Modo de diseño en el libro.

Haga clic en el botón de comando para abrir el formulario de usuario especificado. Luego puede ver que todos los nombres se recopilan en el cuadro combinado. Al seleccionar un nombre del cuadro combinado, el número de personal correspondiente se completará en el cuadro de texto automáticamente como se muestra a continuación.


Artículos relacionados:


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office / Excel 2007-2019 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Características completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jimmy · 1 months ago
    can the same be don on excel sheet? instead of userform? i am using sheet not userform
  • To post as a guest, your comment is unpublished.
    Everton · 1 years ago
    alguem poderia me ajudar estou tentando carregar a combobox e puxar informações para text box so que esta dando erro 381

    Private Sub ComboNome_Emissor_Change()
    TextArea.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 1)
    TextTreinamento_PT.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 3)
    TextTreinamento_EC.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 5)
    TexStatus_Bloqueio.Text = ComboNome_Emissor.List(ComboNome_Emissor.ListIndex, 6)


    End Sub
  • To post as a guest, your comment is unpublished.
    carey.ogola@gmail.com · 3 years ago
    The method is very simple and populates the combo box quite efficiently. However, when I try populating the text box, I get a run-time error '1004': Unable to get the VLookup property of the WorksheetFunction class. Kindly assist with resolving this error.
    • To post as a guest, your comment is unpublished.
      Carla Cox · 1 years ago
      I just tried this code and was running into the same issue. I realized I had the xRg variable inside the UserForm block, so it was not being accessed by my ComboBox function. Maybe others are running into the same issue
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Hi,
      May I have your Office version? I need the feedback to check for the error.
      Thanks for your comment.
      • To post as a guest, your comment is unpublished.
        hoa tran · 3 years ago
        office 2010 32 bit
        • To post as a guest, your comment is unpublished.
          crystal · 3 years ago
          Good day,
          I have tried the code in Office 2010 32 bit, but no errors occured.
          Please make sure the sheet name and cell range in the first VBA code are the same with your actual sheet name and range.
          Thanks for your comment.
          • To post as a guest, your comment is unpublished.
            Dimal · 2 years ago
            Hi,
            i have same issue with office 2013. Any solution please
            • To post as a guest, your comment is unpublished.
              Olban Noe Izaguirre · 2 years ago
              i have the same problem....
              • To post as a guest, your comment is unpublished.
                Chaylon · 2 years ago
                I too have the same problem
                • To post as a guest, your comment is unpublished.
                  crystal · 2 years ago
                  Hi Chaylon,
                  Have you replaced the sheet name in the below code line with your actual used worksheet name?
                  Set xRg = Worksheets("Sheet5").Range("A2:B8")