найти что-нибудь между двумя символами и форматировать в vba

я хотел бы найти текст между двумя символами и форматировать только текст: cell a1 = hello! это тест! Я хочу изменить только часть между восклицательными знаками.

Sub Macro2() Dim varFound As Variant, varSearch As Variant Dim strAddress As String, intPos As Integer varSearch = "!*!" Set varFound = Cells.Find(varSearch, LookIn:=xlValues, LookAt:=xlPart) If Not varFound Is Nothing Then strAddress = varFound.Address Do With varFound Do intPos = InStr(intPos + 1, .Value, varSearch, vbTextCompare) If intPos Then .Characters(Start:=intPos, Length:=Len(varSearch)).Font.FontStyle = "Bold" .Characters(Start:=intPos, Length:=Len(varSearch)).Font.ColorIndex = 3 End If Loop Until intPos = 0 End With Set varFound = Cells.FindNext(varFound) Loop While Not varFound Is Nothing And _ varFound.Address <> strAddress End If End Sub ` 

Без Regex, используя простой цикл над символами; выберите ячейки, которые вы хотите обработать и выполните:

 Sub poiuyt() Dim r As Range, st As String, boo As Boolean Dim L As Long, i As Long For Each r In Selection st = r.Text boo = False L = Len(st) For i = 1 To L If Mid(st, i, 1) = "!" Then boo = Not boo Else If boo Then r.Characters(i, 1).Font.Bold = True End If Next i Next r End Sub 

До:

введите описание изображения здесь

и после:

введите описание изображения здесь

Измените код, чтобы отразить любое требуемое форматирование символов.

Interesting Posts

Конкатентные строки для создания переменной в VBA

циклы для значений между строками с определенным значением

VBA – Сглаживание регулярных выражений с переменной

Как вставить новую строку в excel с помощью oledb c # .net

VBA для выбора всех столбцов на листе и автоматической настройки ширины столбцов в Excel 2010

Excel VBA: сохранение формул, написанных на макрос в листе, поэтому пользователь может вручную изменить формулу на листе

Преобразование уникальных строк в столбцы в excel при сохранении их значений

Почему csvkit's in2csv преобразует даты в целые числа?

Несоответствие типов в AutoHotkey Excel

Загрузка файла Excel в C # – пустые столбцы и строки автоматически обрезаются

Как обрабатывать ответы с несколькими вариантами ответов из форм google в excel to pivot table

Столбец Varchar от DB, преобразующийся в hex, когда он отправляется в EXCEL

Общее количество баллов для каждого учащегося в электронной таблице Google или Excel

Как изменить формат даты на YYYY-MM-DD в мире кода за пользователем в Excel

VBA Excel, переименовать листы на основе значения ячейки

Давайте будем гением компьютера.