Crear una macro como buscador

Estoy intentando hacer un userform en macro, visual basic que contenga una celda con unos nombres (lista desplegable desde una hoja de excel) y la otra es el rut ( que también aparecen en la hoja de excel), el problema es que quiero que al cambiar en la lista el nombre, en el cuadro de abajo aparezca el rut correspondiente, para luego poder insertalo en una planilla de la siguiente hoja, sé que sin macro eso se hace simplemente con un buscar, pero no puedo lograr dar con el código para hacer algo similar, estaré atenta a las respuestas.

Respuesta
2

H o la: Envíame tu archivo para revisar cómo tienes los datos y cómo quieres pasar la información en la siguiente hoja, o ahí en las hojas, me explicas con comentarios qué quieres realizar.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “yaseret arellano” y el título de esta pregunta.

Hola, he enviado un mail para ti. Gracias por responder

Te anexo las macros para cada evento de tu userform

Dim h1, h2
'
Private Sub guar_Click()
'Por.Dante Amor
    If nomb = "" Or nomb.ListIndex = -1 Then
        MsgBox "Debes seleccionar un proveedor"
        nomb.SetFocus
        Exit Sub
    End If
    u = h2.Range("F" & Rows.Count).End(xlUp).Row + 1
    h2.Cells(u, "F") = nomb
    h2.Cells(u, "G") = rutt
    MsgBox "Datos guardados"
    Call limp_Click
End Sub
'
Private Sub nomb_Change()
'Por.Dante Amor
    rutt = ""
    If nomb.ListIndex = -1 Then Exit Sub
    fila = nomb.ListIndex + 3
    rutt = h1.Cells(fila, "D")
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    Set h1 = Sheets("LISTA PROVEEDORES")
    Set h2 = Sheets("CONTROL O. COMPRA 2017")
    If h1.AutoFilterMode Then h.AutoFilterMode = False
    For i = 3 To h1.Range("C" & Rows.Count).End(xlUp).Row
        nomb.AddItem h1.Cells(i, "C")
    Next
End Sub
'
Private Sub limp_Click()
    nomb = Clear
    rutt = Clear
End Sub
'
Private Sub sal_Click()
    End
End Sub

R ecuerda cambiar la valoración a la respuesta.

Sal u dos

¡Gracias! 

Te anexo la macro con todas las variables declaradas:

Option Explicit
Dim h1, h2
'
Private Sub guar_Click()
'Por.Dante Amor
    If nomb = "" Or nomb.ListIndex = -1 Then
        MsgBox "Debes seleccionar un proveedor"
        nomb.SetFocus
        Exit Sub
    End If
    Dim u
    u = h2.Range("F" & Rows.Count).End(xlUp).Row + 1
    h2.Cells(u, "F") = nomb
    h2.Cells(u, "G") = rutt
    MsgBox "Datos guardados"
    Call limp_Click
End Sub
'
Private Sub nomb_Change()
'Por.Dante Amor
    Dim fila
    rutt = ""
    If nomb.ListIndex = -1 Then Exit Sub
    fila = nomb.ListIndex + 3
    rutt = h1.Cells(fila, "D")
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    Dim h, i
    Set h1 = Sheets("LISTA PROVEEDORES")
    Set h2 = Sheets("CONTROL O. COMPRA 2017")
    If h1.AutoFilterMode Then h.AutoFilterMode = False
    For i = 3 To h1.Range("C" & Rows.Count).End(xlUp).Row
        nomb.AddItem h1.Cells(i, "C")
    Next
End Sub
'
Private Sub limp_Click()
    nomb = ""
    rutt = ""
End Sub
'
Private Sub sal_Click()
    End
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas