Vba で substitute を使用する方法 (例付き)
VBA のSubstitute()メソッドを使用すると、文字列内の特定のテキストをすべて新しいテキストに置き換えることができます。
このメソッドでは、次の基本構文を使用します。
置換 (テキスト、古いテキスト、新しいテキスト、インスタンス番号)
金:
- Text : 文字を置換するテキスト
- Old_text : 置換するテキスト
- New_text : 置換として使用するテキスト
- Instance_num (オプション) : 古いテキストのどのインスタンスを置き換えるか。何も指定しない場合は、古いテキストがすべて置き換えられます。
次の例は、このメソッドを実際に使用する方法を示しています。
例: VBA で Substitute を使用する方法
Excel に次のような式のリストがあるとします。
代わりに、すべてのセルのすべてのスペースをカンマに置き換えたいとします。
これを行うには、次のマクロを作成できます。
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
このマクロを実行すると、次の出力が表示されます。
列 A のすべてのセルのすべてのスペースがカンマに置き換えられていることに注意してください。
次の構文を使用して、各スペースを何も置き換えることもできないことに注意してください。
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
このマクロを実行すると、次の出力が表示されます。
列 A のすべてのセルのすべてのスペースが何も置き換えられていないことに注意してください。
つまり、列 A の各セルから各スペースを削除しました。
注: VBA Substituteメソッドの完全なドキュメントはここにあります。
追加リソース
次のチュートリアルでは、VBA を使用して他の一般的なタスクを実行する方法について説明します。
VBA: 文字列内の文字の出現を数える方法
VBA: 文字列に別の文字列が含まれているかどうかを確認する方法
VBA: 特定のテキストを含むセルを数える方法