Vba: jak usunąć znaki z ciągu


Aby usunąć znaki z ciągu znaków, możesz użyć metody Zamień() w języku VBA.

Poniższe przykłady pokazują, jak zastosować tę metodę w praktyce z poniższą listą ciągów w Excelu:

Przykład 1: Użyj VBA, aby usunąć wszystkie wystąpienia znaków w ciągu (wielkość liter ma znaczenie)

Powiedzmy, że chcemy usunąć „to” z każdego ciągu.

W tym celu możemy utworzyć następujące makro:

 Sub RemoveChar()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(Range(" A " & i), " this ", "")
Next i
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Kolumna B wyświetla każdy ciąg z kolumny A, po usunięciu każdego wystąpienia „tego”.

Należy pamiętać, że w tym makro rozróżniana jest wielkość liter .

Oznacza to, że każde wystąpienie „tego” jest usuwane, ale każde wystąpienie „tego” pozostaje samo.

Przykład 2: Użyj VBA, aby usunąć wszystkie wystąpienia znaków w ciągu (wielkość liter nie ma znaczenia)

Powiedzmy, że chcemy usunąć „to” (niezależnie od wielkości liter) z każdego ciągu.

W tym celu możemy utworzyć następujące makro:

 SubRemoveChar ()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", "")
Next i
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Kolumna B wyświetla każdy ciąg z kolumny A, po usunięciu każdego wystąpienia „tego”.

Należy pamiętać, że w tej zamianie nie jest rozróżniana wielkość liter .

Oznacza to, że każde wystąpienie słowa „to” (pisane wielkimi literami lub nie) jest usuwane.

Udało nam się to osiągnąć, stosując metodę LCase , aby najpierw przekonwertować każdy ciąg w kolumnie A na małe litery, a następnie wyszukać „to” w każdym ciągu.

Przykład 3: Użyj VBA, aby usunąć N pierwszych wystąpień znaku w ciągu

Powiedzmy, że chcemy usunąć z każdego ciągu tylko pierwsze wystąpienie „this” (niezależnie od wielkości liter).

W tym celu możemy utworzyć następujące makro:

 SubRemoveChar ()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", "", Count:=1)
Next i
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Kolumna B wyświetla każdy ciąg z kolumny A, z usuniętym tylko pierwszym wystąpieniem „this”.

Zauważ, że użyliśmy Count:=1 , aby usunąć tylko pierwsze wystąpienie określonego ciągu, ale możesz zastąpić 1 dowolną wartością, którą chcesz usunąć w miejsce pierwszych n wystąpień określonego ciągu.

Uwaga : Pełną dokumentację metody VBA Apply znajdziesz tutaj .

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 *