¿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
![vba-auto-fit-una-columna](https://exceladvisor.org/wp-content/uploads/2023/08/1-vba-sadapte-automatiquement-a-une-colonne.png)
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
![propiedad-columna-de-uso](https://exceladvisor.org/wp-content/uploads/2023/08/2-utiliser-la-propriete-de-colonne.png)
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
![ajuste automático de una sola fila](https://exceladvisor.org/wp-content/uploads/2023/08/3-ajustement-automatique-dune-ligne.png)
Y si desea utilizar la propiedad de fila, puede utilizar el código de la siguiente manera.
Rows(5).AutoFit
![código de fila de ajuste automático](https://exceladvisor.org/wp-content/uploads/2023/08/4-code-de-ligne-dajustement-automatique.png)
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
![rango de uso de ajuste automático](https://exceladvisor.org/wp-content/uploads/2023/08/5-plage-dutilisation-dajustement-automatique.png)
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
![código de rango usado de ajuste automático](https://exceladvisor.org/wp-content/uploads/2023/08/6-ajustement-automatique-du-code-de-plage-utilise.png)
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
![ajustar automáticamente toda la hoja de trabajo](https://exceladvisor.org/wp-content/uploads/2023/08/7-ajustement-automatique-de-la-feuille-de-travail-entiere.png)
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
![código-hoja-de-trabajo-entero-de-ajuste-automático](https://exceladvisor.org/wp-content/uploads/2023/08/8-ajustement-automatique-du-code-de-la-feuille-de-calcul-entiere.png)