¿cómo ajustar automáticamente filas/columnas en vba?
Puntos clave
- En VBA, puede utilizar el método AutoFit para ajustar automáticamente filas, columnas e incluso una hoja de trabajo completa.
- Debe especificar el rango y luego puede utilizar el método AutoFit.
Autoajustar una columna
Digamos que desea ajustar automáticamente la columna A, el código sería similar al siguiente:
Range("A1").EntireColumn.AutoFit
En la línea de código anterior, utilizó la propiedad EntireColumn para hacer referencia a toda la columna de la celda A1.
Como estás en una hoja de cálculo, también puedes usar la propiedad de columnas y escribir un código como el siguiente.
Columns(1).AutoFit
Ajustar automáticamente una línea
De manera similar, puedes escribir código para ajustar automáticamente una línea. Digamos que quieres ajustar automáticamente la línea 5, el código sería:
Range("A5").EntireRow.AutoFit
Y si desea utilizar la propiedad de fila, puede utilizar el código de la siguiente manera.
Rows(5).AutoFit
Autoajustar rango usado (filas y columnas)
Ahora digamos que sólo desea ajustar automáticamente las columnas y filas que contienen datos. En VBA hay una propiedad llamada rango usado que puedes usar. Entonces el código sería.
ActiveSheet.UsedRange.EntireColumn.AutoFit ActiveSheet.UsedRange.EntireRow.AutoFit
Y si quieres usar una hoja de cálculo específica, el código sería.
Worksheets("Sheet1").UsedRange.EntireColumn.AutoFit Worksheets("Sheet1").UsedRange.EntireRow.AutoFit
Ajustar automáticamente toda la hoja de trabajo
Y si desea hacer referencia a todas las columnas y filas de la hoja de trabajo, puede utilizar la propiedad «CELULAS». Aquí está el código.
Worksheets("Sheet1").Cells.EntireColumn.AutoFit Worksheets("Sheet1").Cells.EntireRow.AutoFit
O también puede usar la instrucción CON de VBA para escribir código como el siguiente.
With Worksheets("Sheet1").Cells .EntireColumn.AutoFit .EntireRow.AutoFit End With