Vba: jak usunąć liczby z ciągu znaków
Możesz utworzyć następującą funkcję w VBA, aby usunąć liczby z ciągu w komórce w Excelu:
Function RemoveNumbers(CellText As String) As String
With CreateObject(" VBScript.RegExp ")
.Global = True
.Pattern = " [0-9] "
RemoveNumbers = .Replace(CellText, "")
End With
End Function
Następnie możesz użyć tej funkcji, aby usunąć liczby z dowolnej komórki w programie Excel.
Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.
Przykład: usuwanie liczb z ciągu za pomocą języka VBA
Załóżmy, że mamy w Excelu następującą listę identyfikatorów pracowników:
Załóżmy, że chcemy usunąć cyfry z każdego ciągu w kolumnie Identyfikator pracownika .
W tym celu możemy utworzyć następującą funkcję w VBA:
Function RemoveNumbers(CellText As String) As String
With CreateObject(" VBScript.RegExp ")
.Global = True
.Pattern = " [0-9] "
RemoveNumbers = .Replace(CellText, "")
End With
End Function
Po utworzeniu tej funkcji możemy wpisać następującą formułę w komórce B2 , aby zwrócić numer pracownika w komórce A2 po usunięciu wszystkich cyfr:
=RemoveNumbers( A2 )
Możemy następnie kliknąć i przeciągnąć tę formułę do każdej pozostałej komórki w kolumnie B:
Kolumna B wyświetla każdy ciąg z kolumny A z usuniętymi cyframi.
Na przykład:
- 4009Andy staje się Andym
- 1540Bob staje się Bobem
- 1500Chad09 staje się Czadem
- 1600Doug staje się Dougiem
I tak dalej.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania przy użyciu języka VBA:
VBA: Jak liczyć wystąpienia znaków w ciągu
VBA: jak sprawdzić, czy ciąg zawiera inny ciąg
VBA: Jak liczyć komórki zawierające określony tekst