Relacionar un Combobox y busque datos en otro Combobox

Estoy desarrollando una UserForm en Excel 2007 y el objetivo es que al ingresar el dato en el primer Combobox automáticamente aparezca la relación en el siguiente combobox y viceversa a partir de una hoja de Excel como base de datos Ejemplo:

Hoja 1: 

CODIGO               DESCRIPCIÓN 

1001                      JORGE PEREZ 

1002                     ANA PEREZ 

...

Si en el COMBOBOX1 ingreso 1001 en el COMBOBOX2 aparezca JORGE PEREZ

Y SI EN EL COMBOBOX2 ingreso JORGE PEREZ en el COMBOBOX1 aparezca 1001. No me conviene utilizar aquí un listbox ya que la misma es estatica, y me es necesario tener la posibilidad de utilizar ambos criterios de busqueda.

Blás

1 Respuesta

Respuesta
2

Puedes poner el código o cómo estás cargando los datos en el combo1 y 2

El código que utilizo hasta ahora es el siguiente:

Private Sub UserForm_Initialize
Sheets("PRESTAMOS DE USUARIOS").Select
Range("A5").Select 
While ActiveCell <> ""
cbm_NCI.AddItem ActiveCell  ' COMBOBOX1
ActiveCell.Offset(1,0).Select
Wend 
Sheets("PRESTAMOS DE USUARIOS").Select
Range("B5").Select 
While ActiveCell <> ""
cbm_US.AddItem ActiveCell  ' COMBOBOX2
ActiveCell.Offset(1,0).Select
Wend 
End Sub

Te anexo la macro completa:

Dim cargando
Private Sub cbm_NCI_Change()
'Por.Dante Amor
    If cargando Then Exit Sub
    cargando = True
    cbm_US = ""
    If cbm_NCI.ListIndex > -1 Then
        cbm_US = cbm_US.List(cbm_NCI.ListIndex)
    End If
    cargando = False
End Sub
'
Private Sub cbm_US_Change()
'Por.Dante Amor
    If cargando Then Exit Sub
    cargando = True
    cbm_NCI = ""
    If cbm_US.ListIndex > -1 Then
        cbm_NCI = cbm_NCI.List(cbm_US.ListIndex)
    End If
    cargando = False
End Sub
'
Private Sub UserForm_Initialize()
    Sheets("PRESTAMOS DE USUARIOS").Select
    Range("A5").Select
    While ActiveCell <> ""
        cbm_NCI.AddItem ActiveCell              ' COMBOBOX1
        cbm_US. AddItem ActiveCell. Offset(0, 1) ' COMBOBOX2
        ActiveCell.Offset(1, 0).Select
    Wend
End Sub

NOTAS: 

1. Revisa que al principio (declaraciones) de todo el código quede la variable cargando

2. Le hice un ajuste al código para cargar el combobox2:

Private Sub UserForm_Initialize()
    Sheets("PRESTAMOS DE USUARIOS").Select
    Range("A5").Select
    While ActiveCell <> ""
        cbm_NCI.AddItem ActiveCell              ' COMBOBOX1
        cbm_US. AddItem ActiveCell. Offset(0, 1) ' COMBOBOX2
        ActiveCell.Offset(1, 0).Select
    Wend
End Sub

Saludos.Dante Amor

Recuerda valorar la respuesta.

¡Gracias!por tomarse la molestia de responder a mi problema, El código  funciona perfectamente.

Saludos 

               Blás 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas