Replace 関数は指定された文字列の一部を別の文字列で置換した文字列を返します。
置換開始位置や置換の回数は引数で指定することができます。
Replace関数の使用方法
引数名 | 省略 | 説明 |
---|---|---|
Expression | × | 置換する文字列を含む文字列式 を指定します。 |
Find | × | 検索する文字列を指定します。 |
Replace | × | 置換する文字列を指定します。 |
Start | ○ | 引数 Expression 内の内部文字列の検索開始位置を指定します。 この引数を省略すると、1 が使用されます。 |
Count | ○ | 置換する文字列数を指定します。 この引数を省略すると、既定値の -1 が使用され、すべての候補が置換されます。 |
Compare | ○ | 文字列式を評価するときに使用する文字列比較のモードを表す数値を指定します。 引数 Compare を省略すると、Option Compare ステートメントの設定に応じて、比較モードが決まります。 |
定数 | 値 | 説明 |
---|---|---|
vbUseCompareOption | -1 | Option Compare ステートメントの設定を使用して比較を行います。 |
vbBinaryCompare | 0 | バイナリ モードで比較を行います。 |
vbTextCompare | 1 | テキスト モード(大文字/小文字、全角/半角 区別なし)で比較を行います。 |
Replace関数の使用例
文字列の置換・削除を行う例です。
Sub sample_ef027_01()
Dim wStr As String
wStr = "ABCDEabcdeABCDEabcdeABCDE"
Debug.Print "元:" & wStr
'[1]:「ABC」を「XYZ」へ置換
Debug.Print "[1]:" & Replace(wStr, "ABC", "XYZ")
'[2]:6文字目から置換を開始
Debug.Print "[2]:" & Replace(wStr, "ABC", "XYZ", 6)
'[3]:置換回数を2回に設定
Debug.Print "[3]:" & Replace(wStr, "ABC", "XYZ", , 2)
'[4]:テキストモード(大文字・小文字・半角・全角区別なし)で置換
Debug.Print "[4]:" & Replace(wStr, "ABC", "XYZ", , , vbTextCompare)
'[5]:「ABC」をすべて削除
Debug.Print "[5]:" & Replace(wStr, "ABC", "")
End Sub