Мне нужно иметь возможность просматривать несколько диапазонов и добавлять «\» перед любым из этих символов # $% & _ {} ~ \ ^, которому еще не предшествует «\». Кто-нибудь может помочь? Я дурачился с этим в течение нескольких часов, и я знаю, что это должно быть просто для кого-то, кто более знаком с регулярными выражениями. Если есть другой простой способ, это тоже хорошо.
Ниже моя неудачная попытка сделать эту работу. Я думаю, что мне нужно включить обратные ссылки, но это меня смущает.
Function EC(code As Range)
Dim strPattern As String: strPattern = "[^\\]+[#$%^&_{}\~]"
Dim strReplace As String: strReplace = "[\]+[#$%^&_{}\~]"
Dim myreplace As Long
Dim strInput As String
Dim Myrange As Range
Set RegEx = CreateObject("VBScript.RegExp")
For Each cell In code
If strPattern <> "" Then
strInput = cell.Value
With RegEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = strPattern
End With
If RegEx.Test(strInput) Then
EC = (RegEx.Replace(strInput, strReplace))
Else: EC = code.Value
End If
End If
Next
Set RegEx = Nothing
End Function