Written by Allen Wyatt (last updated April 15, 2023)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, 2021, and Excel in Microsoft 365
Jeaux works with a lot of long worksheets that contain data she may need to print. Once printed, she then writes in the space next to the column of data. All rows are auto sized to fit contents, therefore they vary in height. Jeaux is looking for a macro that will take the selected rows and incrementally increase them, say by a given percentage. (Since they are different heights, she cannot just set them all to the same height.) This way, she can make the rows large enough for handwriting, but still be able to see all of the data. It would also be nice to have a way to set the rows' height back to what they were before she printed.
This task is very easy to accomplish with a macro. All you need to do is step through the selected rows and adjust the RowHeight property, as is done in this 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
In this case, the dEnlarge variable contains 1.25, which means that the formula in the For ... Next loop will increase the row height by 25 percent. The value of this variable can be changed to reflect the percentage you want to use, or you could modify the macro to ask the user for a percentage:
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
If you later want to get the rows back to their original height, the following single-line macro will do the job:
Sub AutfitRows() Cells.EntireRow.AutoFit End Sub
This macro works because the rows in your worksheet originally were "auto sized to fit contents." While a macro could have been written to reverse the enlarging steps (dividing by dEnlarge instead of multiplying), it would only work reliably if the ExpandSelectedRows macro wasn't run multiple times.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (21) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, 2021, and Excel in Microsoft 365.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 365 applications with VBA programming. Written in clear terms and understandable language, the book includes systematic tutorials and contains both intermediate and advanced content for experienced VB developers. Designed to be comprehensive, the book addresses not just one Office application, but the entire Office suite. Check out Mastering VBA for Microsoft Office 365 today!
Want to set the width and height of a row and column by specifying a number of inches? It's not quite as straightforward ...
Discover MoreWhen you have text wrap turned on in a cell, Excel expands the height of the row as you add more text to the cell. When ...
Discover MoreIf you have some cells merged in a worksheet, and you wrap text within that merged cell, Excel won't automatically resize ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2023-04-15 12:29:33
J. Woolley
My Excel Toolbox includes the AdjustRowHeights macro to adjust the height of selected rows by a fixed increment or a proportional multiplier. The AdjustColumnWidths macro will adjust the width of selected columns in the same way. Both macros support Undo (Ctrl+Z).
See https://sites.google.com/view/MyExcelToolbox/
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments