Filtrar y buscar valores con macros excel

Amigos, espero me puedan ayudar con esto,
Tengo que crear una macros en Excel que busque un valor y me
traiga la fila que solo tiene valores y su encabezado.
Ej:
Tengo una
Hoja de nombre “J” en ella se encuentra todos los datos, en la columna A los códigos
de los productos y en la fila 1 los nombres de las sucursales, necesito crear
una macro que filtre cierta cantidad de códigos y que traiga el valor de las
sucursales, pero solo si la celda tiene un valor.

2 Respuestas

Respuesta
5

Mándame el archivo con un ejemplo hecho a mano de lo que quieres

[email protected]

Amigos, por si esta muy difícil,

necesito una macros que busque un valor en una hoja "x" y lo pegue en una hoja "xx" con toda su fila y encabezados.

atento a sus comentarios

gracias

Ok, te mando un ejemplo. Tenemos datos en la hoja1 desde la columna A hasta la H y el encabezad está en la linea A1:H1. Buscamos la palabra "luis" y copiaremos toda la fila a la hoja2 junto con el encabezado.

Esta macro lo hace

Sub ejemplo()
'por luismondelo
Sheets("hoja1").Select
valor = "luis"
Set busca = ActiveSheet.UsedRange.Find(valor, LookIn:=xlValues, lookat:=xlWhole)
If Not busca Is Nothing Then
busca.EntireRow.Copy
Sheets("hoja2").Range("a65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Range("a1:h1").Copy
Sheets("hoja2").Range("a1").PasteSpecial Paste:=xlValues
End If
End Sub

recuerda finalizar

Muchas gracias Luis

Si ahora en ves de buscar el valor "luis" busque una lista de códigos de una columna x

Gracias

Bueno supongo que la columna X está en la hoja1

Esta sería la macro de ejemplo:

Con esta macro buscará todos los valores escritos en la columna X desde X2 hacia abajo.

Sub ejemplo()
'por luismondelo
Sheets("hoja1").Select
range("x2").select
do while activecell.value <>""
valor = activecell.value
Set busca = ActiveSheet.UsedRange.Find(valor, LookIn:=xlValues, lookat:=xlWhole)
If Not busca Is Nothing Then
busca.EntireRow.Copy
Sheets("hoja2").Range("a65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
End If
activecell.offset(1,0).select
loop
End Sub

no olvides finalizar la consulta

Respuesta

excelente maestro mil gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas