Vba: как удалить числа из строки
Вы можете создать следующую функцию в VBA для удаления чисел из строки в ячейке Excel:
Function RemoveNumbers(CellText As String) As String
With CreateObject(" VBScript.RegExp ")
.Global = True
.Pattern = " [0-9] "
RemoveNumbers = .Replace(CellText, "")
End With
End Function
Затем вы можете использовать эту функцию для удаления чисел из любой ячейки Excel.
В следующем примере показано, как использовать эту функцию на практике.
Пример. Удаление чисел из строки с помощью VBA
Предположим, у нас есть следующий список идентификаторов сотрудников в Excel:
Допустим, мы хотим удалить цифры из каждой строки в столбце «Идентификатор сотрудника» .
Для этого мы можем создать следующую функцию в VBA:
Function RemoveNumbers(CellText As String) As String
With CreateObject(" VBScript.RegExp ")
.Global = True
.Pattern = " [0-9] "
RemoveNumbers = .Replace(CellText, "")
End With
End Function
Создав эту функцию, мы можем ввести следующую формулу в ячейку B2 , чтобы вернуть номер сотрудника в ячейке A2 со всеми удаленными цифрами:
=RemoveNumbers( A2 )
Затем мы можем щелкнуть и перетащить эту формулу в каждую оставшуюся ячейку в столбце B:
В столбце B отображаются все строки столбца A с удаленными цифрами.
Например:
- 4009Энди становится Энди
- 1540Боб становится Бобом
- 1500Chad09 становится Чадом
- 1600Даг становится Дугом
И так далее.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью VBA:
VBA: как подсчитать вхождение символов в строку
VBA: как проверить, содержит ли строка другую строку
VBA: как подсчитать ячейки с определенным текстом