Jak używać substytutu w vba (z przykładem)
Możesz użyć metody Substitute() w VBA, aby zastąpić wszystkie wystąpienia określonego tekstu w ciągu nowym tekstem.
Ta metoda wykorzystuje następującą podstawową składnię:
Zastępca (tekst, stary_tekst, nowy_tekst, numer_instancji)
Złoto:
- Tekst : tekst, w którym chcesz zastąpić znaki
- Stary_tekst : Tekst do zastąpienia
- Nowy_tekst : Tekst, który ma zostać użyty jako zamiennik
- Instance_num ( opcjonalnie ) : które wystąpienie starego tekstu zastąpić. Jeśli nie określono żadnego, wszystkie wystąpienia starego tekstu zostaną zastąpione.
Poniższe przykłady pokazują, jak zastosować tę metodę w praktyce.
Przykład: Jak używać substytutu w VBA
Załóżmy, że mamy następującą listę wyrażeń w Excelu:
Załóżmy, że zamiast tego chcemy zastąpić każdą spację w każdej komórce przecinkiem.
W tym celu możemy utworzyć następujące makro:
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", ",")
Next
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Zauważ, że każda spacja w każdej komórce w kolumnie A została zastąpiona przecinkiem.
Zauważ, że możemy również użyć następującej składni, aby zastąpić każdą spację niczym:
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", "")
Next
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Zauważ, że każda spacja w każdej komórce w kolumnie A została zastąpiona niczym.
Innymi słowy, usunęliśmy każdą spację z każdej komórki w kolumnie A.
Uwaga : Pełną dokumentację metody VBA Substitute 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