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

Debido a que Excel es principalmente una aplicación para el análisis de datos, a veces se comparan sus herramientas de presentación. Por ejemplo, a veces sus datos tienen texto de varias longitudes y pueden exceder el espacio de impresión disponible.

Este artículo le mostrará cómo calcular el ancho de columna correcto para asegurarse de que el texto se ajuste a la página. Un caso típico podría ser 2 columnas estándar, seguidas de la columna 3 que muestra el comentario:

   Nombre, fecha, comentario 

Aunque Excel tiene algunas herramientas disponibles, como el autoajuste, # 39 no es como controlar tu aplicación para obtener los ingresos que necesitas.

Escribiremos un código para calcular el ancho del espacio de impresión disponible, de modo que podamos determinar el ancho de la columna para asegurar una impresión eficiente.

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

Uno de los problemas es el tamaño de la página, los márgenes y las unidades de medida de las columnas, es necesario normalizar el ancho de la columna de la unidad antes de determinar la correcta.

El camino a seguir 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 el punto.

   pgWid = Application.InchesToPoints (ActiveSheet.PageSetup.P.P.P.P.P.) Nos dará el espacio de impresión disponible, que es el ancho que necesitamos para colocar la tercera columna.
   content = pgWid - leftMargin - rightMargin 
 col3 = content-columnas (1) .width - columnas (2) .width 

Ahora hemos obtenido el ancho requerido tercero La columna es correcta, excepto que el ancho de la columna es en lugar de medido en puntos, pero la unidad propia de Excel se basa en el tamaño de la fuente. Por lo tanto, crearemos un factor para el ancho de conversión basado en las mediciones en la celda 1.

   & # 39; El ancho es punto, solo lectura. 
 pts = columna (1). Ancho 
 & # 39; Unidad de medida de Excel ancho 
 wd = columna (1). Columna Ancho 
 factor = pts / wd 
 col3 = col3 / factor 

Finalmente Tenemos el valor del ancho de la tercera columna, lo usamos en el siguiente código, más la configuración se ajusta automáticamente a verdadero y ajusta automáticamente la altura de la línea.

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

] El cálculo del tamaño de la página y las columnas puede ser un poco confuso, pero vale la pena mantenerlo. Una buena comprensión de cómo medir diferentes elementos de una hoja de cálculo facilita la preparación de los datos de impresión.

Plantillas de excel