Actualizado: agosto de 2021; Funciona en Excel 365, 2019, 2016.
En el tutorial de automatización de Excel de hoy, aprenderemos cómo cambiar rápidamente el ancho de una columna de la hoja de trabajo según sea necesario, pero mediante programación usando VBA (Visual Basic para aplicaciones).
requisitos previos
Para escribir código VBA, primero y ante todo, deberá asegurarse de que su pestaña de desarrollador esté habilitada. Si no está seguro acerca del procedimiento, asegúrese de consultar nuestro procedimiento detallado .
- En su computadora con Windows, abra Microsoft Excel .
- En la cinta principal, presione Desarrollador .
- Presiona el Comando de Visual Basic . Esto abrirá el Editor de VBA .
- En el explorador de proyectos del lado izquierdo, resalte una hoja específica en la que insertará su código. Alternativamente, puede insertar un nuevo módulo o agregar nuestro código a un módulo VBA existente.

Establecer un ancho de columna
En este ejemplo, seleccionaremos una columna en la hoja de trabajo activa y la modificaremos en consecuencia.
- Con el editor de VBA, copie el siguiente código en su hoja de trabajo o módulo.
Sub Set_Column_Width()
Dim MySheet As Worksheet
Set MySheet = ActiveSheet
' Select one or multiple columns, set your column width as needed
With MySheet.Columns("B")
.ColumnWidth = 50
End With
End Sub
- Ejecute su código presionando F5 o seleccione Ejecutar >> Ejecutar Sub o Formulario.
- Guarde su trabajo presionando Archivo >> Guardar o el ícono Disco.
Cambiar el ancho de un rango de varias columnas
En este ejemplo, elegimos un rango de columnas y luego cambiamos el ancho.
Puede aplicar el código de la misma manera que se describe en la sección anterior.
Sub Set_Column_Range_Width()
Dim MySheet As Worksheet
Set MySheet = ActiveSheet
' Set your column width as needed
With MySheet.Range("A:F")
.ColumnWidth = .ColumnWidth * 1.5
End With
End Sub
Próximos pasos
¿Empezando con VBA? Asegúrese de consultar los conceptos básicos de VBA para la guía de Excel .