У меня вопрос к вам всем замечательным людям, которые являются экспертами в VBA.Я нашел этот супер крутой макрос, который окрашивает текст, который предоставляется через поле ввода.Тем не менее, я попытался внести небольшую модификацию, я пытаюсь использовать подстановочный знак "*"
, например, если я предоставляю VBA*
, при вводе строку от "VBA"
до конца текста в выбранном диапазонедолжен быть отформатирован.Кодированный формат подстрочного кода vba.Ни один из них не был найден, поэтому я изменил этот код, надеясь, что кто-то из вас может добавить немного магии в мгновение ока.
Это код, который я нашел в поиске:
Sub X_FormatSubStrings()
Dim xHStr As String, xStrTmp As String
Dim xHStrLen As Long, xCount As Long, i As Long
Dim xCell As Range
Dim xArr
On Error Resume Next
xHStr = Application.InputBox("What is the string to highlight:", "Enter the string", "")
If TypeName(xHStr) < > "String" Then Exit Sub
Application.ScreenUpdating = False
xHStrLen = Len(xHStr)
For Each xCell In Selection
xArr = Split(xCell.Value, xHStr)
xCount = UBound(xArr)
If xCount > 0 Then
xStrTmp = ""
For i = 0 To xCount - 1
xStrTmp = xStrTmp & xArr(i)
xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.Bold = 3
xStrTmp = xStrTmp & xHStr
Next
End If
Next
Application.ScreenUpdating = True
MsgBox "Done"
End Sub