Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Setting Row Height in a Macro.
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.
Program Successfully in Excel! John Walkenbach's name is synonymous with excellence in deciphering complex technical topics. With this comprehensive guide, "Mr. Spreadsheet" shows how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Check out Excel 2013 Power Programming with VBA today!
If you need to limit the cells that are accessible by the user of a worksheet, VBA can come to the rescue. This doesn't ...
Discover MoreYour company may be regulated by requirements that it document any changes to the macros in an Excel worksheet. Your ...
Discover MoreWhen creating macros, it is helpful to know what is going on within the macro itself in case an error crops up. Here's ...
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 © 2024 Sharon Parq Associates, Inc.
Comments