En Excel, es común encontrarse con hojas de cálculo extensas que contienen datos en varias columnas. A veces, el ancho predeterminado de las columnas no es suficiente para mostrar todos los datos de manera adecuada, lo que puede resultar en la incomodidad de tener que desplazarse horizontalmente. Afortunadamente, Excel nos brinda una solución para este problema al permitirnos ajustar automáticamente el ancho de columna al seleccionar una celda específica. En esta entrada de blog, te mostraré cómo lograrlo utilizando una macro en VBA.
Explicación de la macro:
La macro en cuestión se activa cada vez que se produce un cambio de selección en la hoja de cálculo. Esto significa que cuando seleccionas una celda distinta, Excel ejecutará automáticamente el código VBA contenido en esta macro.
Aquí está la macro:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Cells.EntireColumn.AutoFit End Sub
La línea de código Private Sub Worksheet_SelectionChange(ByVal Target As Range)
indica que esta macro se aplica a la hoja de cálculo actual y se activa cuando ocurre un cambio de selección.
La línea Cells.EntireColumn.AutoFit
es la acción que se realiza cada vez que ocurre un cambio de selección. La propiedad EntireColumn
se refiere a la columna completa que contiene la celda seleccionada. La función AutoFit
ajusta automáticamente el ancho de la columna para que se ajuste al contenido de la celda más ancha en esa columna. Esto garantiza que todos los datos de la columna sean visibles sin tener que desplazarse horizontalmente.
Cómo insertar el código de la macro en Excel
Haz clic con el botón derecho sobre la hoja en la que deseas que se ajuste automáticamente las celdas, luego selecciona la opción «ver código».
Despliega las opciones del menú, y selecciona «Worksheet» ahí, deberás escribir:
Cells.EntireColumn.AutoFit
Escríbelo entre las líneas que se muestran por default, para que al final quede así:
Recuerda que esta macro se aplicará a la hoja de cálculo específica en la que la hayas insertado. Si deseas aplicarla a otras hojas, deberás copiarla y pegarla en cada una de ellas.
Espero que esta explicación te haya sido útil. Si tienes alguna otra pregunta, no dudes en hacerla. ¡Buena suerte con tus hojas de cálculo en Excel!
Aquí te dejo el video explicativo:
Buenas tardes.
He utilizado este recurso en una hoja de excel y el día que lo hice funcionaba perfectamente, pero ahora vuelvo abrir la hoja y no funciona. Lo pruebo en otra hoja y tampoco me funciona. Cuando me voy a ver código sigue escrito este comando pero no funciona. Que es lo que estoy haciendo mal?
Gracias
Hola, buenos días, no sé si ya lo arreglaste, pero eso se debe al tipo de formato en que lo guardas. Un cambio como ese ta se considera macro, lo tienes que guardar en xslm
Estimado Fernando, muy util esta macro pero veo que si requiero utilizar la opcion de deshacer se inhabilita, sabes por que pasa o si se puede habilitar. Gracias.
Puede ser por dos razones: Para proteger los datos de la hoja de cálculo, Para evitar que el usuario interrumpa el flujo de la macro.
Utiliza en código:
Application.EnableUndo = True
Entiendo entonces que el codigo completo seria este?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.EntireColumn.AutoFit
Application.EnableUndo = True
End Sub
Ya que a mi no me funciona
Buenas tardes.
He utilizado este recurso en una hoja de excel y el día que lo hice funcionaba perfectamente, pero ahora vuelvo abrir la hoja y no funciona. Lo pruebo en otra hoja y tampoco funciona. A que se debe eso??
Hola Buen dia yo estoy viendo y me funciona, pero necesitaria saber como se puede hacer con el alto de la columna porque busque algunas por internet y no me sirven
Existen dos maneras principales de ajustar automáticamente el alto de filas en Excel:
1. Usar el botón «Autoajustar altura de fila»
Paso 1: Selecciona la fila o el rango de filas cuyo alto deseas ajustar.
Paso 2: En la pestaña Inicio, en el grupo Celdas, haz clic en Formato.
Paso 3: En Tamaño de celda, haz clic en Autoajustar altura de fila.
2. Hacer doble clic en el borde inferior de una fila
Paso 1: Selecciona la fila o el rango de filas cuyo alto deseas ajustar.
Paso 2: Haz doble clic en el borde inferior de una de las filas seleccionadas.
Consejos adicionales:
Si deseas ajustar el alto de todas las filas de la hoja de cálculo a la vez, puedes seleccionar Toda la hoja en el cuadro Ir a antes de hacer clic en Autoajustar altura de fila.
También puedes ajustar el alto de una fila arrastrando el borde inferior de la fila hacia arriba o hacia abajo.
Si el texto de una celda no se ajusta después de ajustar automáticamente el alto de la fila, es posible que necesites ajustar el texto dentro de la celda. Para ello, haz clic con el botón derecho en la celda y selecciona Formato de celdas. En la pestaña Alineación, selecciona la casilla Ajustar texto.