Home

The Rows of a Worksheet

 

Rows Fundamentals

 

Introduction to Rows

We already know that a worksheet organizes its information in categories called columns. To show the values in a worksheet, each column holds a particular value that corresponds to another value in the same horizontal range. While the values under a column should be the same type, the values in a horizontal range can be different. The group of values that correspond to the same horizontal arrangement is called a row.

Although each row in a list has a value for each column, it is not unusual to have empty areas under a certain column and sometimes a row would even have only one value even though there are many columns available.

As a spreadsheet application, when Microsoft Excel starts it creates the rows you will need. As a matter of fact, Microsoft Office Excel 2007 creates 1,048,576 rows.

Like the columns, each row is labeled. The rows are labeled from Row 1 to Row 1,048,576. These labels show on small boxes on the left side of the Microsoft Excel interface. Each box that shows the label of a row is called a row header:

Microsoft Excel

You can use just a few of the rows for your assignment but all of them are always available.

When using a row, you can click it or use the keyboard to get to it. You can also right-click a row. When you do this, a menu would appear:

Row Context-Sensitive Menu

Identifying a Row

To support the rows of a worksheet, the Worksheet class is equipped with a property named Rows. Therefore, to refer to a row, you can use the Worksheets collection or the worksheet object to access the Rows property. Another way you can refer to rows is by using the Range object.

To identify a row, indicate its worksheet and you can pass its number to the parentheses of the Rows collection. Here is an example that refers to the 5th row of the second worksheet of the current workbook:

Sub Exercise()
    Workbooks.Item(1).Worksheets.Item(2).Rows(5)
End Sub

As reviewed for the columns, this code would work only if the second worksheet of the current workbook is displaying. If you run it while a worksheet other than the second is active, you would receive an error. To access any row, omit the Workbooks and the Worksheets collections.

As mentioned already, you can refer to a row using the Range object. To do that, pass a string to the Range object. In the parentheses, type the number of the row, followed by a colon, followed by the number of the row. Here is an example that refers to Row 4:

Sub Exercise()
    Range("4:4")
End Sub

If you want to refer to the rows more than once, you can declare a variable of type Range and initialize it using the Set operator and assign it the range you want. Here is an example:

Sub Exercise()
    Dim SeriesOfRows As Range

    Set SeriesOfRows = Workbooks.Item(1).Worksheets.Item("Sheet1").Range("4:4")

    SeriesOfRows.Whatever
End Sub

Identifying a Group of Rows

A group of rows is said to be in a range if they are next to each other. To refer to rows in a range, in the parentheses of the Rows collection, pass a string that is made of the number of the row from one end, followed by a colon, followed by the row number of the other end. Here is an example that refers to rows from 2 to 6:

Sub Exercise()
    Rows("2:6")
End Sub

The rows of a group qualify as non-adjacent if they are or they are not positioned next to each other. To refer to non-adjacent rows, pass a string to the Range collection. In the parentheses, type the number of each row followed by a colon, followed by the same number. These combinations are separated by commas. Here is an example that refers to Rows 3, 5, and 8:

Sub Exercise()
    Range("3:3, 5:5, 8:8")
End Sub

To refer to all rows of a worksheet, use the Rows name. Here is an example:

Sub Exercise()
    Rows
End Sub

Rows Selection

 

Selecting a Row

As done with columns, you can select one row or a group of rows. You can perform selections using the mouse, the keyboard, or a combination of both.

To select a row using the mouse, position the mouse on a row header. The mouse cursor would change into a right-pointing arrow. Then click:

 

You can also use only the keyboard. To select a row using the keyboard, make sure a box on its right side is selected. Press and hold Shift. While Shift is still down, press the Space bar and release Shift

To support row selection, the Row class is equipped with a method named Select. Therefore, to programmatically select a row, access a row from the Rows collection using the references we saw earlier. Then call the Select method. Here is an example that selects Row 6:

Sub Exercise()
    Rows(6).Select
End Sub

We also saw that you could refer to a row using the Range object. After accessing the row, call the Select method. Here is an example that selects Row 4:

Sub Exercise()
    Range("4:4").Select
End Sub

When a row has been selected, it is stored in an object called Selection. You can then use that object to apply an action to the row.

Selecting a Group of Rows

You can also select more than one row at the same time. You can perform selections using the mouse, the keyboard, or a combination of both.

To select a range of rows using the mouse, click one row header and hold the mouse down. Then drag in the direction of the range:

To select many rows using only the keyboard, select the starting row. Press and hold Shift, then press either the up or the down arrow key. When the range of rows has been selected, release Shift

You can also use a combination of the mouse and the keyboard to select one or more rows:

  • To select a range of rows using a combination of the mouse and the keyboard, click one row at one end of the desired range. Press and hold Shift. Then click the row at the other end, and release the mouse.
  • To select rows at random using a combination of the mouse and the keyboard, click one row header, press and hold Ctrl. Then click each desired row header. When you have selected the desired rows, release the mouse. Each row selected would be highlighted:

Selecting Rows

To programmatically select a range of rows, refer to the range using the techniques we saw earlier, then call the Select method. Here is an example that selects rows from 2 to 6:

Sub Exercise()
    Rows("2:6").Select
End Sub

To programmatically select non-adjacent rows, refer to them as we saw earlier and call the Select method. Here is an example that selects Rows 3, 5, and 8:

Sub Exercise()
    Range("3:3, 5:5, 8:8").Select
End Sub

To programmatically select all rows of a worksheet, call the Select method on the Rows collection. Here is an example:

Sub Exercise()
    Rows.Select
End Sub

When many rows have been selected (whether adjacent or not), their selection is stored in an object named Selection. You can access that object to apply a common action to all selected rows.

The Heights of Rows

 

Introduction

To display the contents of boxes on its right, a row uses a certain height. The height is the distance from the top to the lower borders of the row. There are various techniques you can use to change the height of a row, using approximations or being precise.

Manually Heightening or Shrinking the Rows

To manually change the height of a row, position the mouse on the lower border that separates it from the next row (unless it is the last row). Here is an example:

Mouse Cursor

Click, then drag up or down until you get the desired height, then release the mouse.

You can also resize a group of rows. First, select the rows as we described above. Then position the mouse on the bottom border of one of the selected rows. Click and drag up or down in the direction of your choice until you get the desired height. Then release the mouse.

To undo this action:

  • On the Quick Access toolbar, click the Undo button Undo
  • Press Ctrl + Z

Automatically Setting the Heights of Rows

If one of the boxes on the right side of a row header is too short or too tall, you can change the height of the row. To do this:

  • Double-click the bottom border of the row
  • Click the row header or a box on that row. On the Ribbon, click Home. In the Cells section, click Format and click AutoFit Row Height:

AutoFit Column Width

To undo any of these actions:

  • On the Quick Access toolbar, click the Undo button Undo
  • Press Ctrl + Z

Setting the Height Values of Rows

You can use a dialog box to set exactly the desired height of a row or a group of rows. To specify the height of a row:

  • Right-click the row header and click Row Height...
  • Click a row header or any box on its right side. Then, on the Ribbon, click Home. In the Cells section, click Format and click Row Height...

To specify the same height for many rows:

  • Select a range of rows as we saw earlier. Right-click one of the rows (either one of the row headers or inside the selection) and click Row Height...
  • Randomly select a group of (non-adjacent) rows. Right-click one of the row headers and click Row Height...
  • Select the rows. On the Ribbon, click Home. In the Cells section, click Format and click Row Height...

This would call the Row Height dialog box where you can type the desired value and click OK or press Enter.

To undo any of these actions:

  • On the Quick Access toolbar, click the Undo button Undo
  • Press Ctrl + Z

To support the height of a row, the Row object is equipped with a property named RowHeight. Therefore, to programmatically specify the height of a row, access the row using a reference as we saw earlier, access its RowHeight property and assign the desired value to it. Here is an example that sets the height of Row 6 to 2.50

Sub Exercise()
    Rows(6).RowHeight = 2.5
End Sub

Creating Rows

 

Adding a New Row

In our introduction, we saw that Microsoft Excel creates and makes available over a million rows you can use when working on a worksheet. In the next lesson, we will see that you can use the boxes on the right sides of the row headers to create the necessary values of your worksheet. One of the result is that, at times, you will want to create a row between two existing rows. Microsoft Excel provides all the means you need to add one or more new rows to a list. When you add a new row, Microsoft Excel removes the last row to keep the count to 1,048,576.

You can only insert a new row above an existing one. To insert a new row:

  • Right-click the row header that will be below the new one you want to add, and click Insert
  • Click the row header or any box on the right side. On the Ribbon, click Home. In the Cells section, click the arrow under Insert and click Insert Sheet Rows

Insert Sheet Rows

To provide the ability to add a new row, the Row class is equipped with a method named Insert. Therefore, to programmatically add a row, refer to the row that will be positioned below the new one and call the Insert method. Here is an example:

Sub Exercise()
    Rows(3).Insert
End Sub

Adding New Rows

To add more than one row, first select the rows, whether in a range or randomly. Then:

  • Right-click one of the rows (whether one of the row headers or a box of one of the selected rows) that will be below the selected rows, and click Insert
  • (After selecting the rows,) On the Ribbon, click Home. In the Cells section, click the arrow button Insert and click Insert Sheet Rows

If you select rows randomly (non-adjacent), a new row would be created below each of the selected rows.

To undo any of these actions:

  • On the Quick Access toolbar, click the Undo button Undo
  • Press Ctrl + Z

To programmatically add new rows, refer to the rows that would be below the new ones, and call the Insert method. Here is an example that will add new rows in positions 3, 6, and 10:

Sub Exercise()
    Range("3:3, 6:6, 10:10").Insert
End Sub

Removing Rows

 

Deleting a Row

If you have a row you do not need anymore, you can delete it. To delete a row:

  • Right-click the row header and click Delete
  • Click the row header or any box on its right side. On the Ribbon, click Home. In the Cells section, click Delete and click Delete Sheet Rows

Delete Sheet Rows

To support row removal, the Row class is equipped with a method named Delete that takes no argument. Based on this, to delete a row, access it using a reference as we saw earlier, and call the Delete method. Here is an example:

Sub Exercise()
    Rows(3).Delete
End Sub

Of course, you can use either the Rows collection or the Range object to refer to the row.

Deleting Rows

To delete more than one row, first select the rows, whether in a range or randomly. Then:

  • Right-click one of the rows (whether one of the row headers or a box on the right side of one of the selected rows) and click Delete
  • (After selecting the rows,) On the Ribbon, click Home. In the Cells section, click Delete and click Delete Sheet Rows

To undo any of these actions:

  • On the Quick Access toolbar, click the Undo button Undo
  • Press Ctrl + Z

To delete a group of rows:

Sub Exercise()
    Range("3:3, 6:6, 10:10").Delete
End Sub

Using Rows

 

Moving Rows

As reviewed for a columns, a row can be treated as a container of values. As such, it can be moved from its current location to another and would carry all the values on the right side of its row header.

To move a row, first click its row header to select it. Position the mouse on one of the horizontal lines of the selected row:

Moving a Row

Click and hold your mouse down. Drag up or down. Two horizontal lines would guide you. When you get the row to the desired location, release the mouse.

When you move a row, its boxes move but it assumes the appropriated number based on its new location so the numeric sequence would be kept.

To move a group of rows, select them. Position the mouse on one of the horizontal lines of the selection:

Moving Rows

Click and hold your mouse down. Drag up or down. Horizontal lines would guide you. When you get the rows to the desired location, release the mouse. When you move the rows, their boxes move but they assume the numbers of the new location with the appropriate numeric sequence.

Copying and Pasting Rows

When moving one or more rows, their location changes and they keep the values on the right sides of their row headers. Sometimes, you may not want to move the row(s) but only their values. This means that you can copy the rows to the clipboard and paste them where you want.

To copy a row to the clipboard:

  • Right-click the row header and click Copy
  • Click the row header. On the Ribbon, click Home. In the Clipboard section, click Copy

After copying a row to the clipboard, all of its values are made available. To put those values on another row:

  • Right-click the target row header and click Paste
  • Click the row header. On the Ribbon, click Home. In the Clipboard section, click Paste

Cutting the Contents of Rows

Instead of moving a row and its values, you can instead moving only its values but keep the row wherever it is located. To support this operation, you can cut a row to the clipboard and paste its values to another row.

To temporarily move a row to the clipboard to wait to be pasted:

  • Right-click the row header and click Cut
  • Click the row header. On the Ribbon, click Home. In the Clipboard section, click Cut

After cutting a row to the clipboard, if you do not want to paste it anywhere, you can press Esc. If you want to paste it to another row:

  • Right-click the target row header and click Paste
  • Click the row header. On the Ribbon, click Home. In the Clipboard section, click Paste

To temporarily move the contents of many rows to the clipboard to wait to be pasted, select the rows as we saw earlier. Then:

  • Right-click either one of the row headers or inside the selection, and click Cut
  • On the Ribbon, click Home. In the Clipboard section, click Cut

If you want to paste the values to another group of rows:

  • Right-click a target row header and click Paste
  • Click a row header. On the Ribbon, click Home. In the Clipboard section, click Paste

When you paste, the values of the boxes under the original rows would be emptied.

Hiding and Revealing Rows

The rows of a list display their values as necessary. Sometimes, you may not need to see all the rows. You can display some of the rows you need and (temporarily) hide those you do not need. You can hide one row or you can hide as many as you want.

To hide a row:

  • Right-click the row and click Hide
  • Click the row header. On the Ribbon, click Home. In the Cells section, click Format, position the mouse on Hide & Unhide, and click Hide Rows

Hide Rows

When a row has been hidden, its row header disappears from the numeric sequence and the line between the previous neighbors is thicker than the other dividing lines.

To hide many rows, select the rows. Then:

  • Right-click one of the row headers or inside the selection and click Hide
  • On the Ribbon, click Home. In the Cells section, click Format, position the mouse on Hide & Unhide, and click Hide Rows

To programmatically hide a row, first select. Then, access the Hidden property of the EntireRow object of Selection. Here is an example:

Private Sub Exercise()
    Rows("6:6").Select
    Selection.EntireRow.Hidden = True
End Sub

This code example will hide row 6. In the same way, to hide a group of rows, first select their range, then write Selection.EntireRow.Hidden = True.To reveal the hidden rows:

  • Right-click any row header and click Unhide
  • On the Ribbon, click Home. In the Cells section, click Format, position the mouse on Hide & Unhide, and click Unhide Rows

Freezing One or More Rows

When using a long list, you can scroll up and down as necessary. While scrolling down, some rows would be disappearing from the top. When scrolling down, some rows would disappear from the bottom. If you want, you can freeze a row so that, when you scroll down, a top row the rows above it would not move.

To freeze a row, click the row header of the row that will lead the moving rows. On the Ribbon, click View. In the Window section, click Freeze Panes, and click Freeze Panes.

Splitting the Rows

Instead of freezing the rows, you can divide the Microsoft Excel series of rows into two groups. Then you can scroll one group while the other is fixed.

To split the rows in two groups, click a row header. On the ribbon, click View. In the Window section, click Split. This would display a bar.

As mentioned for the columns, the similarities between the freezing and splitting are as follows:

  • The rows are divided in two groups
  • The user can scroll the rows from the bottom side of the divider

The differences between the freezing and splitting are as follows:

  • If you freeze a row, you can scroll the rows below the frozen line but you cannot scroll the rows above the frozen line. If you split the rows, you can scroll the rows from either the top or the bottom side of the splitting bar
  • If you freeze a row, you cannot move the freezing line to another row (you would have to unfreeze the row, then re-freeze). If you split the rows, you can move the splitting bar up or down
  • If you freeze a row, to remove the frozen line, you use the Ribbon. If you split the rows, to remove the splitting line, you can double-click it or, in the Window section of the View tab of the Ribbon, you can click the Split button
 
 

Home Copyright © 2007-2009, FunctionX