Открыть редактор макросов (Alt+F11)
Добавить новый модуль
добавить пользовательскую функцию
Public Function SanitizeCharDigit(ByRef rng As Range) As String
Dim pattern As String
Dim replace As String
Dim RegExp As Object 'Для регулярных выражений
pattern = "[^A-Z\d]"
replace = ""
Set RegExp = CreateObject("VBScript.RegExp")
With RegExp
.Global = True 'Находим ВСЕ совпадения или только первое
.IgnoreCase = True 'Учитываем ли регистр?
.MultiLine = True 'Может ли паттерн попадать на разрывы строк?
.pattern = pattern 'Выражение
End With
On Error Resume Next
SanitizeCharDigit = RegExp.replace(CStr(rng.Value), replace) 'Поиск и замена
Set RegExp = Nothing 'Очистка памяти от ненужного мусора
End Function
на листе в нужной ячейке вызвать эту функцию
=SanitizeCharDigit(A1)
вместо "А1" вставить свою ячейку
очистит ВСЕ кроме английских букв и цифр