The example below uses the worksheet's SelectionChange event to change the font style of the current row. Each time that you make a new selection on the worksheet, the entire row that contains the selection becomes bold.
NOTE: When you select a range that contains more than one row, only the row containing the active cell becomes bold.
Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs.
If you have limited programming experience, you may want to contact a Microsoft Certified Partner or Microsoft Advisory Services. For more information, visit these Microsoft Web sites:
Microsoft Certified Partners -
https://partner.microsoft.com/global/30000104Microsoft Advisory Services -
http://support.microsoft.com/gp/advisoryserviceFor more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
To change the font style of the current row by using the sample macro, follow these steps:
- Create a new workbook.
- Start the Visual Basic Editor (press ALT+F11).
- If the Project window is not visible, click Project Explorer on the View menu (or press CTRL+R).
- In the Project Explorer, double-click Sheet1.
- In the Code window that opens for Sheet1, click Worksheet in the Object list, and then click SelectionChange in the Procedure list.
- Type or paste the following code for the worksheet SelectionChange event:
Dim x as Long
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
' Set the row containing the active cell to bold.
ActiveCell.EntireRow.Font.Bold = True
' Check for first execution of the macro and set row value
' if it is:
If x = Empty Then
x = ActiveCell.Row
' Set previous row property back to normal, or not bold.
ElseIf Not x = ActiveCell.Row Then
Rows(x).EntireRow.Font.Bold = False
End If
' Capture new row value for comparison against next selection.
x = ActiveCell.Row
End Sub
- Switch to Excel (press ALT+F11).
- Select a cell anywhere on Sheet1.
The entire row in which the active cell is located becomes bold. When you
select a new cell, the previously selected row changes back to the normal font style, and the new active row becomes bold.
NOTE: As a result of using the SelectionChange event and the macro assigned to it, you may not be able to use certain editing features, such as the
Copy command.