Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.
With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company.
Learn more about Allen...
Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Making All Occurrences Bold.
Tom rightly notes that in Word you can use Find and Replace to make all occurrences of a word bold. (Search for the word, replace it with the same word with bold formatting turned on.) He wonders how he can do the same thing in Excel.
The answer depends, in part, on the version of Excel you are using. If you are using Excel 2002 or a later version of Excel, the answer is easy—you do it virtually the same way that you do in Word. Follow these steps:
Figure 1. The expanded Replace tab of the Find and Replace dialog box.
Figure 2. The Font tab of the Replace Format dialog box.
While this appears quite easy, you need to remember that these steps change the formatting of entire cells, not just words within a cell. Thus, if you were searching and replacing the word "brown," then any cell that contained the word "brown" would be made bold—the entire cell, not just the word.
If you are using an older version of Excel (Excel 97 or Excel 2000) or you want to only affect words within the cell, then these steps won't work. Instead you'll need to resort to a macro to do the bolding. Basically, you'll need a macro that looks through a worksheet and determines what can be changed. (You cannot make individual words or digits in formulas or numeric values bold; you can only make changes to the word-level formatting for text constants.)
Once the macro finds cells it can process, it needs to search through the cells for the desired word, and then make that text bold. The following macro implements this very strategy:
Sub FindAndBold() Dim sFind As String Dim rCell As Range Dim rng As Range Dim lCount As Long Dim iLen As Integer Dim iFind As Integer Dim iStart As Integer On Error Resume Next Set rng = ActiveSheet.UsedRange. _ SpecialCells(xlCellTypeConstants, xlTextValues) On Error GoTo ErrHandler If rng Is Nothing Then MsgBox "There are no cells with text" GoTo ExitHandler End If sFind = InputBox( _ Prompt:="What do you want to BOLD?", _ Title:="Text to Bold") If sFind = "" Then MsgBox "No text was listed" GoTo ExitHandler End If iLen = Len(sFind) lCount = 0 For Each rCell In rng With rCell iFind = InStr(.Value, sFind) Do While iFind > 0 .Characters(iFind, iLen).Font.Bold = True lCount = lCount + 1 iStart = iFind + iLen iFind = InStr(iStart, .Value, sFind) Loop End With Next If lCount = 0 Then MsgBox "There were no occurrences of" & _ vbCrLf & "' " & sFind & " '" & _ vbCrLf & "to bold." ElseIf lCount = 1 Then MsgBox "One occurrence of" & _ vbCrLf & "' " & sFind & " '" & _ vbCrLf & "was made bold." Else MsgBox lCount & " occurrences of" & _ vbCrLf & "' " & sFind & " '" & _ vbCrLf & "were made bold." End If ExitHandler: Set rCell = Nothing Set rng = Nothing Exit Sub ErrHandler: MsgBox Err.Description Resume ExitHandler End Sub
The macro first sets the search range to those cells that contain text constants. It then prompts the user for a word that needs to be changed. Once entered, the macro then starts looking through all the cells in the range. Each cell is checked to see if it contains the target word. If so, then the .Bold property for those characters is set and the macro continues searching.
The macro also keeps track of how many changes were made, displaying the total changes at the end of its work.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2414) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Making All Occurrences Bold.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!