Vba で検索と置換を使用する方法 (例付き)
VBA を使用して範囲内の特定の文字列を検索および置換するには、次の方法を使用できます。
方法 1: 文字列を検索して置換する (大文字と小文字を区別しない)
Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks "
End Sub
この特定のマクロは、範囲A1:B10内のすべての「Mavs」を「Mavericks」に置き換えます。
方法 2: 文字列の検索と置換 (大文字と小文字を区別)
Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks ", MatchCase:= True
End Sub
この特定のマクロは、大文字と小文字が一致する場合にのみ、範囲A1:B10内のすべての「Mavs」を「Mavericks」に置き換えます。
たとえば、文字列「mavs」は「Mavs」の大文字と小文字が正確に一致しないため、置換されません。
次の例は、Excel の次のデータ セットで実際にこのメソッドを使用する方法を示しています。
例 1: VBA を使用した文字列の検索と置換 (大文字と小文字を区別しない)
A1:B10 の範囲内で出現するすべての「Mavs」を「Mavericks」に置き換えたいとします。
これを行うには、次のマクロを作成できます。
Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks "
End Sub
このマクロを実行すると、次の結果が得られます。
チーム列内の「Mavs」はすべて文字列「Mavericks」に置き換えられていることに注意してください。
例 2: VBA を使用した文字列の検索と置換 (大文字と小文字を区別)
大文字と小文字が一致する場合にのみ、範囲A1:B10内の各「Mavs」を「Mavericks」に置き換えたいとします。
これを行うには、次のマクロを作成できます。
Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks ", MatchCase:= True
End Sub
このマクロを実行すると、次の出力が表示されます。
この置換では大文字と小文字が区別されることに注意してください。
これは、「Mavs」が出現するたびに置換されますが、「mavs」が出現するたびにそのまま残されることを意味します。
追加リソース
次のチュートリアルでは、VBA を使用して他の一般的なタスクを実行する方法について説明します。
VBA: 文字列内の文字の出現を数える方法
VBA: 文字列に別の文字列が含まれているかどうかを確認する方法
VBA: 特定のテキストを含むセルを数える方法