Excel: Detecta el rango de una tabla

Si tenés una planilla con una tabla principal, de tamaño variable, y distintas tablas auxiliares y querés que una macro detecte automáticamente el rango de la tabla principal y asigne ese rango como área de impresión y la imprima, éstas son las instrucciones para lograrlo.
LUN, 8 / JUN / 2015

Para resolver este problema podemos usar la propiedad CurrentRegion, que detecta el rango de una tabla, alrededor de la celda actual. Por ejemplo, si tenemos sendas tablas en los rangos [A1:C15] y [F8:G20], y el cursor está en [A1], la propiedad devolverá las coordenadas del primer rango. Si el cursor está en [F10], devolverá las coordenadas del segundo rango. La macro completa sería más o menos así:

Sub Imprimir
rango = Range(“A1”).CurrentRegion.Address
ActiveSheet.PageSetup.PrintArea = rango
ActiveSheet.PrintOut
End Sub

La primera instrucción de esta macro detecta el rango alrededor de la celda [A1] y le aplica la propiedad Address para obtener sus coordenadas. La segunda instrucción establece el rango anterior como área de impresión. Finalmente, procede con la impresión propiamente dicha.

Mientras hacemos pruebas con esta macro, es conveniente reemplazar la última instrucción por ActiveSheet.PrintPreview. Esta instrucción muestra la vista preliminar, lo que nos permite comprobar el funcionamiento de la macro sin desperdiciar papel.

¡Comparte esta noticia!

Últimos lanzamientos Ver más