Том справедливо отмечает, что в Word вы можете использовать «Найти» и «Заменить», чтобы выделить все вхождения слова жирным шрифтом. (Найдите слово, замените его тем же словом с включенным полужирным шрифтом.) Он задается вопросом, как он может сделать то же самое в Excel.

Ответ частично зависит от используемой вами версии Excel. Если вы используете Excel 2002 или более позднюю версию Excel, ответ прост — вы делаете это практически так же, как и в Word. Выполните следующие действия:

  1. Нажмите Ctrl + H, чтобы открыть вкладку «Заменить» в диалоговом окне «Найти и заменить».

  2. Нажмите кнопку «Параметры», чтобы развернуть диалоговое окно. (См. Рис. 1.)

  3. В поле «Найти» введите слово, которое нужно выделить полужирным шрифтом.

  4. Введите то же слово в поле «Заменить на».

  5. Нажмите кнопку «Форматировать» справа от поля «Заменить на». Excel отображает диалоговое окно «Заменить формат».

  6. Щелкните вкладку Шрифт. (См. Рис. 2.)

  7. В списке «Стиль шрифта» выберите «Полужирный».

  8. Нажмите OK, чтобы закрыть диалоговое окно «Заменить шрифт».

  9. Нажмите «Заменить все», чтобы выполнить замену.

Хотя это кажется довольно простым, вы должны помнить, что эти шаги изменяют форматирование целых ячеек, а не только слов в ячейке.

Таким образом, если вы выполняли поиск и заменяли слово «коричневый», то любая ячейка, содержащая слово «коричневый», была бы выделена жирным шрифтом — вся ячейка, а не только слово.

Если вы используете старую версию Excel (Excel 97 или Excel 2000) или хотите воздействовать только на слова в ячейке, эти шаги не сработают. Вместо этого вам нужно прибегнуть к макросу для выделения жирным шрифтом.

По сути, вам понадобится макрос, который просматривает рабочий лист и определяет, что можно изменить. (Вы не можете выделить отдельные слова или цифры в формулах или числовых значениях жирным шрифтом; вы можете вносить изменения только в форматирование на уровне слов для текстовых констант.)

Как только макрос находит ячейки, которые он может обрабатывать, ему необходимо найти в них нужное слово, а затем выделить этот текст жирным шрифтом. Следующий макрос реализует эту стратегию:

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

Макрос сначала устанавливает диапазон поиска для тех ячеек, которые содержат текстовые константы. Затем он запрашивает у пользователя слово, которое необходимо изменить.

После ввода макрос начинает просматривать все ячейки в диапазоне. Каждая ячейка проверяется на предмет наличия в ней целевого слова. Если да, то для этих символов устанавливается свойство .Bold, и макрос продолжает поиск.

Макрос также отслеживает, сколько изменений было внесено, отображая общие изменения в конце своей работы.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2414) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-Making_All_Occurrences_Bold [Делаем все вхождения жирным].