¿Cómo hago para buscar un código en una tabla y que me devuelva varias celdas, con una macro?

Quiero una macro que busque un código y me devuelva varias celdas de la misma fila.

Por ejemplo en el hojas 1 tengo la columna A /código, columna B /formato, columna C /tarimas, columna D /hojas . Entonces en la hoja 2 cuando en a1 ingrese el código me devuelva formato, tarima,hojas. Luego en a2 y asi sucesivamente.

Desde ya muchas gracias por su tiempo.

1 Respuesta

Respuesta
1

Para lo que necesitas podes utilizar fórmulas con BUSCARV (o CONSULTAV), no necesariamente necesites una macro.

=BUSCARV(dato a buscar;rango de búsqueda, nro de col a devolver, falso)

Confirma x favor si te sirve trabajar con fórmulas o quieres la macro x alguna razón. También deja aclarado con qué versión Excel estás trabajando.

muchas gracias Elsa por responder. Muchas de sus respuestas me fueron de gran ayuda. Trabajo con la versión 2007.Ya tengo el archivo con varias buscarv en distintas celdas.Lo que hago es arrastrar la ultima fila y en a1 inserto el codigo lo busca en otra hoja y me va devolviendo los diferentes datos. Lo que quiero es generar una macro que haga lo mencionado anteriormente , y a la celda nª de orden de corte la incremente automaticamente, actualmente yo la introdusco manualmente.

Si le parece puedo enviarle las hojas que uso, paseme un correo.

muchas gracias Elsa por responder. Muchas de sus respuestas me fueron de gran ayuda. Trabajo con la versión 2007.Ya tengo el archivo con varias buscarv en distintas celdas.Lo que hago es arrastrar la ultima fila y en a1 inserto el codigo lo busca en otra hoja y me va devolviendo los diferentes datos. Lo que quiero es generar una macro que haga lo mencionado anteriormente , y a la celda nª de orden de corte la incremente automaticamente, actualmente yo la introdusco manualmente.

Si le parece puedo enviarle las hojas que uso, paseme un correo. En caso de no haber sido claro hagamelo saver.

Desde ya muchas gracias por su ayuda.

Copiá el correo que aparece en mi sitio que dejo al pié. No olvides recordarme tu alias o motivo de consulta.

Ya lo recibí, te prepararé la macro para que al ingresar el dato en A se completen las fórmulas. Solo no entendí eso de '... y a la celda nª de orden de corte la incremente automáticamente...', ¿cuál es esa celda?

Sdos

Elsa

Bien, la rutina entonces vá en el Editor, en el objeto hoja OC P...

Se ejecuta cada vez que ingreses un valor en la col A.

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
Dim finx As Integer
'controla lo ingresado en col A. Si se seleccionaron varias celdas para limpiar no ejecuta nada
If Target.Column <> 1 Or Target.Count > 1 Then Exit Sub
'si la celda queda vacía no se ejecuta
If Target.Value = "" Then Exit Sub
'copia las fórmulas de la última fila ocupada en la nueva
finx = Target.Row - 1
'para que no vuelva a ejecutar la macro mientras rellena la fila
Application.EnableEvents = False
Range("B" & finx & ":L" & finx).Select
Selection.AutoFill Destination:=Range("B" & finx & ":L" & finx + 1), Type:=xlFillDefault
Range("Q" & finx & ":W" & finx).Select
Selection.AutoFill Destination:=Range("Q" & finx & ":W" & finx + 1), Type:=xlFillDefault
Range("Y" & finx & ":AX" & finx).Select
Selection.AutoFill Destination:=Range("Y" & finx & ":AX" & finx + 1), Type:=xlFillDefault
Range("AZ" & finx & ":BD" & finx).Select
Selection.AutoFill Destination:=Range("AZ" & finx & ":BD" & finx + 1), Type:=xlFillDefault
'incrementa el valor de la col O
Range("O" & finx + 1) = Range("O" & finx) + 1
'se posiciona en col B
Target.Offset(0, 1).Select
'habilita nuevamente las macros
Application.EnableEvents = True
End Sub

Luego te envío el libro .

Sdos y no olvides finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas