Vervanging gebruiken in vba (met voorbeeld)
U kunt de methode Substitute() in VBA gebruiken om alle exemplaren van een specifieke tekst in een string te vervangen door nieuwe tekst.
Deze methode gebruikt de volgende basissyntaxis:
Vervangen (Tekst, Oude_tekst, Nieuwe_tekst, Instance_num)
Goud:
- Tekst : de tekst waarin u tekens wilt vervangen
- Oude_tekst : de tekst die moet worden vervangen
- New_text : De tekst die als vervanging moet worden gebruikt
- Instance_num ( optioneel ) : welk exemplaar van de oude tekst moet worden vervangen. Als er niets is opgegeven, worden alle exemplaren van de oude tekst vervangen.
De volgende voorbeelden laten zien hoe u deze methode in de praktijk kunt gebruiken.
Voorbeeld: hoe u Substitute in VBA gebruikt
Stel dat we de volgende lijst met uitdrukkingen in Excel hebben:
Stel dat we in plaats daarvan elke spatie in elke cel willen vervangen door een komma.
We kunnen hiervoor de volgende macro maken:
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
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Merk op dat elke spatie in elke cel in kolom A is vervangen door een komma.
Merk op dat we ook de volgende syntaxis kunnen gebruiken om elke spatie door niets te vervangen:
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
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Merk op dat elke spatie in elke cel in kolom A door niets is vervangen.
Met andere woorden: we hebben alle spaties uit elke cel in kolom A verwijderd.
Let op : U kunt hier de volledige documentatie voor de VBA Substitute- methode vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken kunt uitvoeren met VBA:
VBA: het aantal tekens in een string tellen
VBA: hoe controleer je of een string een andere string bevat?
VBA: cellen tellen met specifieke tekst