3

Получил электронную таблицу Excel, используемую для некоторого текстового содержимого (я знаю, я знаю), но мне интересно, если бы кто-нибудь знал, как выделить конкретный текст внутри ячейки, заключенной в квадратные скобки.

Ячейка будет содержать «Текст идет здесь [красный текст в квадратных скобках] и т.д. И т.д.» С «[красным текстом в квадратных скобках]» красным цветом. Любая помощь будет оценена!

1 ответ1

4

Вам нужно создать макрос. В Excel 2010 нажмите Просмотр, Макросы, Просмотр макросов. Введите имя "Пустышка" и нажмите « Создать». В появившемся новом окне посмотрите на панель Project слева. Дважды щелкните лист, к которому вы хотите применить форматирование. Скопируйте и вставьте следующий код.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Text As String
    Dim Index1 As Long
    Dim Index2 As Long
    Text = Target.Text
    Index2 = 1
    Do
        Index1 = InStr(Index2, Text, "[")
        If Index1 = 0 Then Exit Do
        Index2 = InStr(Index1, Text, "]")
        If Index2 = 0 Then Exit Do
        Target.Characters(Index1, Index2 - Index1 + 1).Font.Color = &HFF
    Loop
End Sub

Если вы хотите, чтобы форматирование применялось только к определенным ячейкам, вы можете вставить одну из следующих строк перед строкой Dim Text As String .

    If Target.Row <> 12 Then Exit Sub    ' Only format row "$12"
    If Target.Column <> 12 Then Exit Sub ' Only format column "$L"

Теперь, когда вы закончите редактировать ячейку на листе, она изменит квадратные скобки и текст внутри на красный. Это также [работает], если есть [несколько] наборов [квадратных] скобок, но [вложенные [квадратные скобки]] потерпят неудачу.

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