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