На изображении ниже показано, чего я хочу достичь:

Объяснение:

У меня есть таблица, смешанная с текстом без формата, и полужирный + курсив. Я хочу изменить формат текста, выделенного жирным шрифтом + курсивом, чтобы он стал жирным шрифтом с оранжевой подсветкой. Текст без формата остается без изменений.

Кроме ручного форматирования, есть ли более простой и быстрый способ отформатировать его?

2 ответа2

4

Это может быть достигнуто с помощью VBA. Этот код протестирован в Excel 2013. Хотя вы не упомянули версию, она должна быть достаточно общей, чтобы работать в Excel 2003 также на всякий случай.

На рабочем листе нажмите Alt+F11, чтобы открыть VBA Editor. В меню « Вставка» вставьте модуль. Дважды щелкните вставленный модуль в левой панели, чтобы открыть его редактор кода.

Теперь вставьте в него следующий код.

Public Sub myformat()

  Dim rng As Range
  Set rng = Range("Sheet1!D4:D11")  'Specify the desired SheetName!Range here
  For Each cel In rng.Cells
    If cel.Font.Bold = True And cel.Font.Italic = True Then
        cel.Font.Italic = False
        cel.Interior.ColorIndex = 44  '44 is the color index number for standard Orange in Excel
    End If   
  Next cel

End Sub

Это создает макрос VBA с именем myformat . Здесь нужно вручную указать SheetName!Спектр. В этом примере Sheet1!D4:D11 - диапазон данных. Сохраните и вернитесь на лист.

Нажмите Alt+F8 для доступа к диалоговому окну Macro и запустите этот макрос myformat чтобы получить желаемый эффект.

0
  1. Отформатируйте одну ячейку до требуемого формата (жирный шрифт + оранжевая заливка)
  2. Выберите эту ячейку и дважды щелкните « Формат по образцу»
    Формат Painter

  3. Выберите ячейки, которые вы хотите отформатировать. Вы можете вручную щелкать их по одному или перетаскивать, если это непрерывный диапазон.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .