Jump to content
Marco Corrales

¿Index y Match podrán trabajar a la inversa?

Recommended Posts

Buenas tardes, gusto saludarles.

Tengo la siguiente función que me busca un código relacionado a un nombre (Código está a la izquierda y el nombre a la derecha). Cuando en el  comboBox se selecciona el nombre, en el label me aparece el codigo, funciona perfectamente.

Function find_code_tipo_persona()

Dim codigo As Range
Dim nombre As Range

Set codigo = Hoja2.[codigos_tipo_persona]
Set nombre = Hoja2.[tipo_persona]

lbl_tipo_persona.Caption = ""

On Error Resume Next
lbl_tipo_persona.Caption = Application.Index(codigo, Application.Match(cmb_tipo_persona.Value, nombre, 0), 1)
   
End Function

 

Ahora, lo que necesito es que haga lo inverso, que me cargue en el comboBox el nombre, cuando el label ya tiene el numero de código; tengo la siguiente función:

Function find_name_tipo_persona()

Dim codigo As Range
Dim nombre As Range

Set codigo = Hoja2.[codigos_tipo_persona]
Set nombre = Hoja2.[tipo_persona]

On Error Resume Next
cmb_tipo_persona.Value = Application.Index(nombre, Application.Match(lbl_tipo_persona.Caption, codigo, 0), 1)

End Function

... pero no funciona.

También  la he hecho de esta otra manera:

...
cmb_tipo_persona.Value = Application.VLookup(lbl_tipo_persona.Caption, rRango, 2, 0)
...

...pero tampoco funciona.

Les agradezco la ayuda que me puedan brindar.

Share this post


Link to post
Share on other sites
Function find_tipo_persona()
    Dim Datos As Range
    Set Datos = Hoja1.[Datos] ' Rango Abarcando las 2 columnas de tus datos, por lo menos.
    cmb_tipo_persona.Value = Application.VLookup(CDbl(lbl_tipo_persona.Caption), Datos, 2, 0)
End Function

Prueba y comentas.

Saludos.
 

Share this post


Link to post
Share on other sites

Con Index y Match

Function find_tipo_persona_2()
    Dim codigo As Range
    Dim nombre As Range
    Set codigo = Hoja1.[codigos_tipo_persona]
    Set nombre = Hoja1.[tipo_persona]
    On Error Resume Next
    cmb_tipo_persona.Value = Application.Index(nombre, Application.Match(CDbl(lbl_tipo_persona.Caption), codigo, 0), 1)
End Function

Saludos.

Edited by Leopoldo Blancas

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 5112 personas - Aprender Excel - Total: 4.7 / 5