Jeaux trabaja con muchas hojas de trabajo largas que contienen datos que puede necesitar imprimir. Una vez impresa, escribe en el espacio junto a la columna de datos. Todas las filas tienen un tamaño automático para adaptarse al contenido, por lo que varían en altura. Jeaux está buscando una macro que tome las filas seleccionadas y las aumente de forma incremental, digamos en un porcentaje determinado. (Dado que son de diferentes alturas, ella no puede simplemente ponerlos todos a la misma altura.)

De esta forma, puede hacer que las filas sean lo suficientemente grandes para escribir a mano, pero aún así podrá ver todos los datos. También sería bueno tener una forma de volver a ajustar la altura de las filas a lo que eran antes de imprimir.

Esta tarea es muy fácil de realizar con una macro. Todo lo que necesita hacer es recorrer las filas seleccionadas y ajustar la propiedad RowHeight, como se hace en esta macro:

Sub ExpandSelectedRows()

Dim rRow As Range     Dim dEnlarge As Double

dEnlarge = 1.25     For Each rRow In Selection.Rows         rRow.RowHeight = rRow.RowHeight * dEnlarge     Next End Sub

En este caso, la variable dEnlarge contiene 1,25, lo que significa que la fórmula del ciclo For …​ Next aumentará la altura de la fila en un 25 por ciento. El valor de esta variable se puede cambiar para reflejar el porcentaje que desea usar, o puede modificar la macro para pedirle al usuario un porcentaje:

Sub ExpandSelectedRows()

Dim rRow As Range     Dim dEnlarge As Double     Dim sTemp As String

sTemp = InputBox("Increase by what percent?")

dEnlarge = Val(sTemp)

If dEnlarge > 1 Then dEnlarge = dEnlarge / 100     If dEnlarge < 1 Then dEnlarge = dEnlarge + 1

If dEnlarge > 0 Then         For Each rRow In Selection.Rows             rRow.RowHeight = rRow.RowHeight * dEnlarge         Next     End If End Sub

Si luego desea que las filas vuelvan a su altura original, la siguiente macro de una sola línea hará el trabajo:

Sub AutfitRows()

Cells.EntireRow.AutoFit End Sub

Esta macro funciona porque las filas en su hoja de trabajo originalmente tenían un «tamaño automático para ajustarse al contenido». Si bien se podría haber escrito una macro para revertir los pasos de ampliación (dividir por dEnlarge en lugar de multiplicar), solo funcionaría de manera confiable si la macro ExpandSelectedRows no se ejecutara varias veces.

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (21) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.