Para DANTE AMOR macro que me busque los datos de un cliente en otro archivo de Excel

Hola DAM

Tengo un archivo llamado "RIPS" y tengo otro archivo llamado "BASEDEDATOS"

En el archivo "BASEDEDATOS" en la hoja "BD" tengo datos de clientes desde la columna "A" hasta la columna "I"

La columna "B" es el dato de ID del cliente (Dato a Buscar)

Quisiera una macro en la hoja "Registro" del archivo "RIPS" que me buscara en la hoja "BD" del archivo "BASEDEDATOS" la "ID" de un cliente y que si lo encuentra, me trajera los datos.

Voy a enviarte la macro que tengo pero esa es cuando tengo la BD en el mismo archivo, peor quisiera separarlos.

Sub buscarPAC2()
    Set h2 = Sheets("BD")
    Set h3 = Sheets("Registro_Procedimiento")
    '
    If h3.[C8] = "" Then
        MsgBox "Número de Identificación VACIO." & vbCrLf & "" & vbCrLf & "Por favor escriba el número de Identificación en el espacio correspondiente.", vbExclamation
        [C8].Select
        Exit Sub
    End If
    '
    Set b = h2.Columns("B").Find(h3.[C8], lookat:=xlWhole)
    If Not b Is Nothing Then
        h3.[C7] = h2.Cells(b.Row, "A")
        h3.[C9] = h2.Cells(b.Row, "C")
        h3.[C10] = h2.Cells(b.Row, "D")
        h3.[C11] = h2.Cells(b.Row, "E")
        h3.[C12] = h2.Cells(b.Row, "F")
        h3.[C15] = h2.Cells(b.Row, "G")
        h3.[C17] = h2.Cells(b.Row, "H")
    Else
        MsgBox "El número de Identificación no existe en la BASE DE DATOS." & vbCrLf & "" & vbCrLf & "Por favor verifique con el PACIENTE el número de Identificación e Intentelo de nuevo.", vbExclamation
        [C8].Select
    End If
End Sub

Esta macro funciona si tengo la BD en el mismo archivo RIPS pero quiero tener la BD en otro archivo como seria la macro?

1 Respuesta

Respuesta
1

Te anexo la macro. Deberás tener abiertos los 2 libros

Sub buscarPAC2()
'Por.Dante Amor
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Registro")
    h1.Activate
    '
    Set l2 = Workbooks("BASEDEDATOS")
    Set h2 = l2.Sheets("BD")
    '
    If h1.[C8] = "" Then
        MsgBox "Número de Identificación VACIO." & vbCrLf & "" & vbCrLf & "Por favor escriba el número de Identificación en el espacio correspondiente.", vbExclamation
        [C8].Select
        Exit Sub
    End If
    '
    Set b = h2.Columns("B").Find(h1.[C8], lookat:=xlWhole)
    If Not b Is Nothing Then
        h1.[C7] = h2.Cells(b.Row, "A")
        h1.[C9] = h2.Cells(b.Row, "C")
        h1.[C10] = h2.Cells(b.Row, "D")
        h1.[C11] = h2.Cells(b.Row, "E")
        h1.[C12] = h2.Cells(b.Row, "F")
        h1.[C15] = h2.Cells(b.Row, "G")
        h1.[C17] = h2.Cells(b.Row, "H")
    Else
        MsgBox "El número de Identificación no existe en la BASE DE DATOS." & vbCrLf & "" & vbCrLf & "Por favor verifique con el PACIENTE el número de Identificación e Intentelo de nuevo.", vbExclamation
        [C8].Select
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas