Fórmula buscar para un registro de clientes en excel

Tengo un archivo en excel en el cual ingreso datos de clientes mediante el uso de una macro.

Estoy usando la fórmula buscar para que al ingresar el numero de cédula me llene automáticamente los datos de nombre y teléfono que se encuentran en otra hoja en una tabla, funciona bien pero cuando no existe el numero de cédula en la tabla me pone cualquier nombre al azar y lo que quiero es que me diga que no existe.

Intente usar consultarv de la misma manera pero siempre me da error, no se por que.

Les agradecería si me colaboran con esto.

Quien me colabore si gusta le puedo enviar el archivo para que lo revise

1 respuesta

Respuesta
1

H o l a:

Envíame tu archivo y me explicas en cuál hoja y cuál celda está tu fórmula.

H o l a:

Esta es la fórmula:

=SI.ERROR(BUSCARV($F$11,'LIST. CLIENTES'!B:E,2,0), "Cédula no registrada")

Y la macro actualizada:

Sub EJEMPLO1()
'Act.Por.Dante Amor
    Application.ScreenUpdating = False
    Range("F10:F14").Copy
    Set h = Sheets("LIST. CLIENTES")
    u = h.Range("A" & Rows.Count).End(xlUp).Row + 1
    h.Range("A" & u).PasteSpecial Paste:=xlPasteValues, Transpose:=True
    Range("F11, F14").ClearContents
    Application.ScreenUpdating = True
    MsgBox "Compra registrada"
End Sub

HOLA

Muchas gracias la fórmula esta excelente, pero ocurre que cuando registro un cliente ya existente todo esta bien, más cuando registro un cliente nuevo se pierde todo.

En donde van las fórmulas quedan el nombre y el teléfono que registre y ya no funciona más la macro.

Lo que me hace falta es que al registrar un cliente nuevo vuelva a aparecer las fórmulas en la casilla cliente y teléfono más que no queden los datos que había registrado.

Te agradezco tu ayuda

H o l a:

Lo que estás haciendo al registrar un cliente nuevo es borrar las fórmulas.

Te anexo la macro para que siempre reconstruya las fórmulas:

Sub EJEMPLO1()
'Act.Por.Dante Amor
    Application.ScreenUpdating = False
    Range("F10:F14").Copy
    Set h = Sheets("LIST. CLIENTES")
    u = h.Range("A" & Rows.Count).End(xlUp).Row + 1
    h.Range("A" & u).PasteSpecial Paste:=xlPasteValues, Transpose:=True
    Range("F11, F14").ClearContents
    [F12].FormulaR1C1 = "=IFERROR(VLOOKUP(R11C6,'LIST. CLIENTES'!C[-4]:C[-1],2,0), ""Cédula no registrada"")"
    [F13].FormulaR1C1 = "=IFERROR(VLOOKUP(R11C6,'LIST. CLIENTES'!C[-4]:C[-1],3,0), ""Cédula no registrada"")"
    Application.ScreenUpdating = True
    MsgBox "Compra registrada"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas