Replace関数

Replace 関数は指定された文字列の一部を別の文字列で置換した文字列を返します。
置換開始位置や置換の回数は引数で指定することができます。

スポンサーリンク

Replace関数の使用方法

構文
Replace(Expression, Find, Replace [, Start] [, Count] [, Compare])

【戻り値】 バリアント型 (内部処理形式 String の Variant)
引数名 省略 説明
Expression × 置換する文字列を含む文字列式 を指定します。
Find × 検索する文字列を指定します。
Replace × 置換する文字列を指定します。
Start 引数 Expression 内の内部文字列の検索開始位置を指定します。 この引数を省略すると、1 が使用されます。
Count 置換する文字列数を指定します。 この引数を省略すると、既定値の -1 が使用され、すべての候補が置換されます。
Compare 文字列式を評価するときに使用する文字列比較のモードを表す数値を指定します。 引数 Compare を省略すると、Option Compare ステートメントの設定に応じて、比較モードが決まります。
引数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
  • マクロ実行結果(イミディエイトウィンドウ
    元:ABCDEabcdeABCDEabcdeABCDE
    [1]:XYZDEabcdeXYZDEabcdeXYZDE
    [2]:abcdeXYZDEabcdeXYZDE
    [3]:XYZDEabcdeXYZDEabcdeABCDE
    [4]:XYZDEXYZdeXYZDEXYZdeXYZDE
    [5]:DEabcdeDEabcdeDE
タイトルとURLをコピーしました