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:

VBA usuwa liczby z łańcucha

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *