Seleccionar un rango variable con una macro

Hola. Tengo una tabla y se pueden ir agregando filas con el tiempo, quisiera hacer una macro donde me seleccione el rango de las filas y las columnas de esa tabla y poder copiarlas en otro hoja. Como hago si las filas se pueden ir incrementando ¿

1 Respuesta

Respuesta
1
La solución más simple es ocupar como rango el nombre de la tabla ya que así te toma por defecto los datos que están dentro de la tabla.
Si necesitas algún código solo avisame o tal vez te pueda enviar algún ejemplo para que lo estudies y puedas acomodarlo a lo que tu necesitas.
Suerte.
Te cuento
Tengo una tabla
Nº Proyectos inicio Fin aprobados Beneficiario
1 ddddd 2001 2002 no Público
2 wwww 2001 2002 no Público
3 jjjj 2001 2003 si Público
4 ssss 2001 2003 no Privado
5 dfsadfsdfas 2001 2006 si Público
La cual hice una macro donde se pueda mediante un filtro avanzado filtrar por cualquiera de elos campos... Por ejemplo por Beneficiario Publico
y te coloca en la misma pantalla el filtro pero solo los Beneficiario Publico como pedí. Entonces quedaría de la siguiente manera
Nº Proyectos inicio Fin aprobados Beneficiario
1 ddddd 2001 2002 no Público
2 wwww 2001 2002 no Público
3 jjjj 2001 2003 si Público
5 dfsadfsdfas 2001 2006 si Público
Ahora mi consulta es: sobre el resultado que me larga quisiera copiar esa tabla a otra Hoja. El tema es que en otro momento pueden aplicar el filtro por año 2001 y me quedarían 5 registros y seria otro rango el que se copiaría me explico ¿
Deberias ciopiar un codigo como este:
Sub buscar()
Worksheets("Hoja1").Activate
Range("E2").Select ' ***** Celda donde Comienzan tus datos
While ActiveCell.Value <> Empty
        If ActiveCell.Value = "Cerrado" Then ' ** Valor a comparar. Puede ser una celda tambien
            Selection.EntireRow.Copy
            Worksheets("Hoja2").Activate
            Rows("6:6").Select
            Selection.Insert Shift:=xlDown
            Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=False
            Application.CutCopyMode = False
        End If
        Worksheets("Hoja1").Activate
        ActiveCell.Offset(1, 0).Select
Wend
End Sub
Prueba este código y juegate. Crea un modulo y lo pegas ahí, luego asigas la macro a un botón o a lo que quieres y lo ejectuas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas