¿Cómo rellenar Excel automáticamente con códigos de clientes?

Tengo una tabla donde me gustaría que cuando en una casilla ponga un código de un cliente, en la celda de al lado se ponga automáticamente el nombre del cliente.

1 Respuesta

Respuesta
2

Lo podrás resolver con fórmula o con macros.

1-Con fórmula: necesitas tener en alguna hoja la lista de códigos y nombres. En mi ejemplo la coloqué en una hoja llamada LISTA, en col A:B

En la celda donde quieras obtener el nombre coloca esta fórmula y luego puedes arrastrarla hacia abajo.

=BUSCARV(B2;LISTA!A:B;2;FALSO)

2- Con macro: Entra al Editor (con ALT+F11 o desde el menú Programador, Visual Basic.

Selecciona el objeto HOJA donde quieras obtener los nombres, y allí copia el siguiente código para el evento Change:

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'se controlan cambios en la col B donde se ingresan los códigos
If Target.Column <> 2 Or Target.Count > 1 Then Exit Sub
'si se borra la celda, se borra la celda de la col C
If Target.Value = "" Then
    Target.Offset(0, 1) = ""
Else
    'se busca el nombre en la hoja LISTA
    Set busco = Sheets("LISTA").Range("A:A").Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
    'se devuelve en la col C el valor encontrado en la col 2 (B)
    If Not busco Is Nothing Then Target.Offset(0, 1) = Sheets("LISTA").Cells(busco.Row, 2)
End If
End Sub

Si te queda alguna duda, comentame. Sino marca una valoración para dar por cerrada la consulta.

Te invito a ver los siguientes videos de mi canal:

Nº 29: 3 métodos de búsqueda con VBA

Nº 25: Búsquedas en Excel con VBA

Nº 16: El método FIND

Nº 45 y 46: Los eventos de Hoja.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas