Macro para buscar y agrupar datos en excel

Estoy trabajando con una hoja de calculo y de su ayuda con esta Macro.
Tengo una hoja con datos comenzando por el rango ("H100 hasta Q:300")
En H100 tengo un numero fijo (que va desde 1 hasta 20) pero por ejemplo H100 tiene el numero 15, H101 tiene el numero 2, H103, el 3, H104 otra vez el 15 y así desordenados del 1 al 20 hasta H300, en las demás columnas (I, J, K, L, M, N O, P y Q) tambien tengo datos pero quiero que la macro tome como referencia el numero que esta en H, el numero que deseo que me busque yo se lo pondre en J2, osea si pongo en J2 en numero 15 que me busque todos los 15 y los agrupe en el rango (H7:Q50), algo asi como +buscarv(+j2, tabla, 2), otra cosa, todo esto necesito hacerlo con un boton, que la macro se ejecute con un Boton-

1 Respuesta

Respuesta
1
Aquí tienes la macro que lo hace. He interpretado que la zona "H7:Q50" es una zona para pintar las consultas que hagas mediante el rango j2, por lo que siempre borro esa zona al comenzar. Como acabo de comentar funciona anotando en J2 el número que quieres buscar y te traerá toda la información de las lineas encabezadas con ese número. Solo queda que adjudiques esta macro a un botón.
Sub busca_y_copia()
Range("h7:q50").Clear
Range("h100").CurrentRegion.Sort key1:=Range("h100"), order1:=xlAscending, Header:=xlYes, ordercustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
valor = Range("j2").Value
Set busca = ActiveSheet.Range("h100:h" & Range("h10000").End(xlUp).Row).Find(valor, LookIn:=xlValues, lookat:=xlWhole)
If Not busca Is Nothing Then
ubica = busca.Address
Range(ubica).Select
fila = Range(ubica).Row
contarsi = Application.WorksheetFunction.CountIf(Range("h100:h" & Range("h10000").End(xlUp).Row), valor)
Range(Cells(fila, 8), Cells(fila + contarsi - 1, 17)).Copy
Range("h7").PasteSpecial xlPasteAll
End If
End Sub
Nol olvides finalizar y puntuar
Disculpa la molestia, pero como agrego esto al botón,
ya trate de hacerlo y me marca error de complicaion (se esperaba End Sub)
tengo esto:
Private Sub EdoCuenta_Click()
aqui abajo copio todo lo de la macro pero ahi es donde me marca el error.
como hacerle para corregirlo.
gracias.
Si la macro del botón es:
Private Sub EdoCuenta_Click()
aquí copia mi macro menos la primera linea y la última
end sub
repito en mi macro no tienes que copiar las lineas siguientes:
Sub busca_y_copia()
End Sub
Ya que la macro del botón ya tiene su comienzo y fin

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas