¿Cómo puede hacer una macro que autoajuste formato de una tabla según nuevo rango de valores?

Tengo la siguiente tabla

Para explicara a fondo, tengo un formulario, que me permite seleccionar datos para generar un informe.

Los formatos de esos informes van de un rango de 2 horas a 4 horas, el ejemplo de la foto es la tabla que va en el informe de 12 horas.

Lo que yo busco, es que, teniendo un userform que tiene botones para cada horario, dentro de una misma plantilla, me incremente o reduzca la tabla (el formato completo con bordes y todo) según la cantidad de horas que yo elija.

Es decir, quiero usar una sola plantilla de informe, donde la tabla, se automodifique según una hora que yo elija en el formulario anterior.

Algunos de los datos de la tabla, son formulasunque se que eso lo puedo resolver, dejando esta tabla asimilando los resultados que puedo producir con las fórmulas en otra hoja.
Es cierto, podía hacerlo manualmente grabando una macro con el formato para cada horario, pero la idea mía es que, si el usuario, dentro del mismo entorno, desea hacer otro informe, pueda elegir otro horario sin que se descuadre el formato base.

No se si me explico

¿Tengo alguna opción? Habría pensado en ua tabla dinámica pero no se i de volverá solo texto.

2 Respuestas

Respuesta
1

Haz una plantilla maestra, le das formato y le aplicas un filtro, luego en en modulo VBA pegas esta macro, en las celdas C1 pones la hora inicial y en la F! La hora final con estos 2 parámetros la amcro hará un filtro quedando solo los horadios comprendidos entre estas dos horas

este es el resultado de aplicar el filtro

y esta es la macro

Sub FORMATO()
HI = CDbl(CDate(Range("C1")))
HF = CDbl(CDate(Range("F1")))
Set DATOS = Range("A3").CurrentRegion
With DATOS
    ActiveSheet.Range(DATOS.Address).AutoFilter Field:=1, Criteria1:=">=" & HI, _
        Operator:=xlAnd, Criteria2:="<=" & HF
End With
End Sub
Respuesta

[Hola

No olvidemos que Excel es una hoja de cálculo, no es un sistema gestor de base de datos a pesar de que sé que mucha gente lo usa como si fuese eso; pero al no serlo no tiene una herramienta de reportes/informes propiamente dicha y entonces hacer uno es básicamente imaginación y programación.

¿Ideas? ¿Sugerencias? A mí se me ocurren:

- Tener una hoja tipo plantilla que tenga todo el formato y las 12 filas, entonces, dependiendo del horario que elijas se copia esa hoja tipo plantilla y se usan las 12 filas o se borran las necesarias hasta dejarla en 8 o 4.

- Lo otro es tener tres hojas tipo plantilla y que dependiendo de las horas se use la necesaria pero, ojo, siempre copiando la hoja/plantilla necesaria, nunca usando esa misma.

En ambos casos al copiar la hoja/plantilla evitamos usar una macro que dé formato cada vez a una hoja nueva ya que si solo sabes usar la grabadora de macros, se te puede complicar un poco detectar las celdas en las cuales va cada formato al ir variando estas de 4 a 8 o 12.

Comentas

Abraham Valencia

Eso es lo que tenia en principio, distintas hojas que se pegaban los mismo datos pero que solo convertían el informe a PDF según el horario que necesitaba.

Pero la idea era hacer algo más dinámico y sin necesidad de múltiples plantillas

Vere que puedo hacer, de lo contrario lo dejare como en un principio lo pensé con múltiples plantillas para cada horario.

Como sugerencia podrías tener todas ocultas

Saludos]

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas