Replace関数について
Replaceは引数に指定した文字列に対して、引数の検索文字列を引数の置換文字列に置換する関数になります。引数に開始位置、置換回数、比較モードを指定することもできます。
構文
Replace(文字列,検索文字列,置換文字列)
文字列内の検索文字列を置換文字列に置換する。
※バイナリモードでの比較となります。
Replace(文字列,検索文字列,置換文字列,開始位置,置換回数,比較モード)
置換する開始位置、複数の検索文字列がある場合に置換する回数を指定できます。比較モードで大文字・小文字、全角・半角などを区別することができます。
<引数について>
<比較モードについて>
※比較モードにはvbUseCompareOptionというモードもありますが、省略しています。vbBinaryCompare、vbTextCompareを認識していればいいかと思います。
詳しくは
Replace 関数 (Visual Basic for Applications) | Microsoft Docs
Replace関数のサンプルコード
D列の「山田 花子」を「鈴木 花子」に置換するコードです。
Replace関数のサンプルコード2:特定の文字を削除する
検索文字を「""」に置換することで、その検索文字を削除することができます。以下のコードでは、半角スペース「" "」を[""」に置換し、削除しています。
Replace関数のサンプルコード3:vbTextCompare、vbBinaryCompare
vbBinaryCompare、vbTextCompareを指定する際は、開始位置、置換回数を指定する必要があります。省略することはできません。
vbTextCompare:全角半角・大文字小文字を区別しない
A1は開始位置と置換回数が指定されていないため、置換が出来ていません。(Replace("abcdef","A","B",1,1,vbTextCompare)と開始位置・置換回数を指定すると置換されます)
A2は開始位置と置換回数が指定されているため、「a」を「B」に置換しています。(置換文字列は「A」ですが、vbTextCompareのため、大文字小文字を区別せず、「a」を「B」に置換しています。)
vbBinaryCompare:全角半角、大文字小文字を区別する
A3は引数が正しくない(比較モードを指定しているが、開始位置・置換回数が指定されていない)ため、エラーとなるのでコメントアウトしています。
A4は「a」を「b」に置換しています。
A5は「A」を「B」に置換するコードですが、大文字小文字を区別するため、文字列「abcdef」では置換されずにそのままの文字列が返されています。