Buscar datos de una hoja con código con valor de búsqueda basado en columna.

Tengo una lista de claves y nombres en donde las CLAVES están de A1:A10 y nombre de B1:B10

En otra hoja tengo un cuadro en donde en la columna C1 hasta la fila C1000 tengo que capturar

Las claves y en base a lo que vaya capturando me arroje los nombres correspondiente a cada clave en la columna D1 hasta la fila D1000

Todo esto que sucede al evente de hoja change

Osea al estar cambiando el código

1

1 respuesta

Respuesta
1

Pon este codigo en la hoja 2

<

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C1:C1000")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
Set a = Sheets("Hoja1")
Set b = a.Columns("A").Find(Target.Value, LookAt:=xlWhole)
If Not b Is Nothing Then
Cells(Target.Row, "D").Value = a.Cells(b.Row, "B")
End If
End If
End Sub

>

Hola esta bien genial la macro, solo tengo una duda

¿Cómo puedo saber si el dato a buscar existe?

Así como también al borrar el dato buscador que borreo el dato buscado

Discúlpame gracias

Hay muchas formas, puedes cambiarlo por esta macro

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C1:C1000")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
Set a = Sheets("Hoja1")
Set b = a.Columns("A").Find(Target.Value, LookAt:=xlWhole)
If b Is Nothing Then
MsgBox "el registro no existe"
End If
If Not b Is Nothing Then
Cells(Target.Row, "D").Value = a.Cells(b.Row, "B")
End If
End If
End Sub

te mandara un mensaje si no encuentra nada.

Pero también puedes hacerlo con validación de datos restringiendo solo a una lista de códigos. De tal forma que no te deje ingresar un codigo que no esté permitido.
Por último, respecto a lo de borrar esa macro que te pasé al principio borra el registro buscado si borras el contenido de la celda a buscar, no se bien a que te refieras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas