Autoajustar columnas con macros y asignar un método abreviado que esté disponible en todo los archivos de Excel
Excel tiene muchas herramientas valiosas que nos hacen ser más eficientes en Excel, pero infortunadamente no existen métodos abreviados para acceder a todas. Una de ellas es Autoajustar ancho de columna.
Grabar macro y asignarle un método abreviado
Como lo mencioné anteriormente, la herramienta Autoajustar ancho de columna no tiene un método abreviado, por lo que nos daremos a la tarea de tenerla en una macro y asignarle un método abreviado, [Ctrl] + [M]. Haremos uso de la Grabadora de macro para obtener el código, además de asignarle un método abreviado, y para que esto sea más interesante, dejaremos la combinación disponible para todos los archivos.
Video tutorial
https://youtu.be/WBVww3o7b_c
Tenemos una tabla de muestra donde vemos que el texto de las columnas es más grande que el ancho de las columnas.
Figura 1. Tabla de ejemplo.
Para grabar la macro, nos vamos a Vista > Macros > Grabar macro. Primeramente asignamos el método abreviado [Ctrl] + [M] y guardamos la macro en el libro PERSONAL.
Figura 2. Grabar macro y asignarle un método abreviado.
Para ejecutar la herramienta Autoajustar, nos vamos a Inicio > Formato > Autoajustar ancho de columna. Una vez hecha la acción, detenemos la macro.
Figura 3. Autoajustar tamaño de columna en Excel.
Ahora cada vez que presionemos [Ctrl] + [M] se autoajustarán las columnas al ancho del texto.
Figura 4. Método abreviado en Excel.
Código vba para asignar método abreviado a una macro
Mediante el método OnKey vamos a asignar un método abreviado a una macro previamente grabada. La macro grabada se llama AutoAjustar. Le hice unas adecuaciones para que detecte cuando se produzca algún error, por ejemplo que la hoja esté protegida.
Código de la macro AutoAjustar
Sub AutoAjustar() ' Dim ErrorHandler As Error ' On Error GoTo ErrorHandler ' Selection.EntireColumn.AutoFit ' Exit Sub ErrorHandler: MsgBox "Ha ocurrido un error: " & Err.Description & vbNewLine & vbNewLine & _ "Procura que la hoja no esté protegida.", vbExclamation, AddIn End Sub
Para que el método abreviado [Ctrl] + [M] esté siempre disponible usamos el siguiente código vba en un Módulo normal.
'--------------------------------------------------------------------------------------- ' Module : Módulo1 ' Author : MVP, Sergio Alejandro Campos ' Date : 01/05/2016 ' Purpose : Métodos abreviados en Excel '--------------------------------------------------------------------------------------- Sub Auto_Open() Application.OnKey "^{m}", "AutoAjustar" End Sub
Ahora usaremos Auto_Close para restaurar el método abreviado.
Sub Auto_Close() Application.OnKey "^{m}" End Sub
Descarga el ejemplo
Click aquí para descargar el ejemplo: Método abreviado en Excel.xlsm.