Uso de VBA para determinar el tamaño de página y el ancho de columna requerido en Excel

Dado que Excel es principalmente una aplicación de análisis de datos, sus herramientas de presentación a veces sufren de comparación. Por ejemplo, sus datos pueden contener texto de diferentes longitudes y pueden exceder el espacio de impresión disponible.

En este artículo se explica cómo calcular el ancho de columna correcto para que el texto se ajuste a la página. Un escenario típico puede consistir en 2 columnas estándar, luego una tercera columna que muestra comentarios:


Nombre, fecha, comentario

Aunque Excel tiene algunas herramientas, como la funcionalidad ajuste automático & # 39; No hay nada como tener el control de su aplicación para obtener los ingresos que necesita.

Escribiremos un código que calculará el ancho del espacio de impresión disponible, para que podamos determinar el ancho de las columnas para garantizar una impresión eficiente.

Cálculo del espacio de impresión disponible en la página

Uno de los problemas es que las unidades de medida del tamaño de la página, los márgenes y las columnas son inconsistentes y necesitamos normalizar las unidades antes de determinar el ancho correcto de la columna.

Una solución es convertir todas las unidades en puntos en lugar de pulgadas o centímetros. El tamaño de la página se devuelve inicialmente en pulgadas y se convierte, mientras que los márgenes izquierdo y derecho ya están en puntos.


pgWid = Application.InchesToPoints (ActiveSheet, v. P .P.Servicio de la v., Pág. Levantamiento, Pág., Levantamiento, Pág., Levantamiento, Pág., Levantamiento, Pág., Levantamiento, Pág., Levantamiento, Pág., Levantamiento, Pág., Levantamiento, Pág., Parcela. pgWid - leftMargin - rightMargin
col3 = contenido-columnas (1) .width - columnas (2) .width

Ahora tenemos el ancho requerido para la columna tres en puntos y encaja, excepto que el ancho de la columna es y no en puntos, sino en la propia unidad de Excel, dependiendo del tamaño de las fuentes. Por lo tanto, crearemos un factor para convertir el ancho de acuerdo con las mediciones hechas en la celda 1.


- Ancho en puntos - solo lectura.
pts = Columnas (1). Ancho
& # 39; ancho en unidades de medida Excel
wd = Columnas (1) .ColumnWidth
factor = pts / wd
col3 = col3 / factor

Finalmente, tenemos un valor para el ancho de la columna tres y lo usamos en el siguiente código con la palabra de ajuste verdadero y la altura de la línea para ajustar automáticamente.


Columnas (3) .ColumnWidth = col3
Columnas (3) .wrapText = True
Filas (3) .EntireRow.AutoFit

] Los cálculos de tamaño de página y columna pueden ser un poco confusos, pero vale la pena perseverar. Un buen conocimiento de cómo se miden los diferentes elementos de una hoja de cálculo permite una preparación más fácil de los datos para la impresión.



Plantillas de excel