Written by Allen Wyatt (last updated March 30, 2019)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365
It is not unusual to use macros to process data and format output in a workbook. If you use macros to do this type of work, you may be interested in changing the height of a row using a macro. If so, you should pay attention to the RowHeight property. This property, when applied to a Row object, indicates the height of the row in points.
For instance, the following code snippet steps through the rows in a selection and sets the height of each row to 36 points (one-half inch):
For Each r In ActiveWindow.RangeSelection.Rows r.RowHeight = 36 Next r
If you prefer not to step through each of the rows, you could use the following single line to adjust the row height:
Selection.RowHeight = 36
Either approach sets the height of all the rows that were selected when the code is executed. If you want your macro to adjust a specific range of rows, then you can specify the rows directly in the code:
ActiveSheet.Rows("3:34").RowHeight = 36
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9239) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365. You can find a version of this tip for the older menu interface of Excel here: Setting Row Height in a Macro.
Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!
The undo list can be a lifesaver when working in a macro. Unfortunately, the undo list is not preserved when you run a ...
Discover MoreFunctions are a common programming construct. They help you to create easy ways of processing information and returning a ...
Discover MoreExcel allows you to hide worksheets so that they aren't visible to those using your workbook. Hiding worksheets has a ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2021-04-14 12:00:03
J. Woolley
@Rachel
I will try to fix the first part of my previous comment here:
The first two code snippets in the Tip use RangeSelection and Selection. In either case, to set the height of rows 26, 31, 36:
1. Click the mouse to select any cell in row 26.
2. Ctrl+Click the mouse to select any cell in row 31.
3. Ctrl+Click the mouse to select any cell in row 36.
4. Run the macro.
Using Ctrl+Click adds each individual cell to the Selection.
Also, see https://sites.google.com/view/MyExcelToolbox/
2021-04-14 06:41:07
Harold Druss
Every 5th row should be:
For r = 5 To 50 Step 5
Rows(r).RowHeight = 80
Next
2021-04-13 12:41:44
J. Woolley
@Rachel The first two code snippets in the Tip use RangeSelection and Selection. In either case, to set the height of rows 26, 31, 36:1. Click the mouse to select any cell in row 26.2. Ctrl+Click the mouse to select any cell in row 31.3. Ctrl+Click the mouse to select any cell in row 36.4. Run the macro.Using Ctrl+Click adds each individual cell to the Selection.To set the height to 80 for every 5th row from 1 to 1001:For r = 1 To 1001 Step 5 Rows(r).RowHeight = 80Next rAlso, see https://sites.google.com/view/MyExcelToolbox/
2021-04-12 13:22:17
Rachel K
What about using the multiple row codes for rows that aren't connected? I want to set the row height for row 26, 31, 36. Do I have to do that individually? Futhermore, is there a way to automate every "certain" row as a specific height? Every 5th row as 80 for example? Thanks
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 © 2023 Sharon Parq Associates, Inc.
Comments