サイトについて      連絡先   検索

VBA Replace 関数

はじめに

Excel VBA の Replace 関数を紹介します。

Replace 関数は、文字列を置換します。

文字列の一部を置換したいときに使用します。

構文

Replace(文字列, 検索文字, 置換文字)

Replace(文字列, 検索文字, 置換文字, 開始位置, 置換回数, 比較モード)

名前 説明
引数「文字列」置換元となる文字列を指定します。
引数「検索文字」置換される文字列を指定します。
引数「置換文字」置換する文字列を指定します。
引数「開始位置」省略できます。置換を開始したい位置を指定します。
引数「置換回数」省略できます。検索文字が複数見つかったときに、置換する回数を指定します。
引数「比較モード」省略できます。大文字と小文字を区別して検索するかを指定します。
戻り値文字列型 (String)

引数「比較モード」

単位 説明
vbBinaryCompare (既定)「大文字と小文字」、「半角と全角」、「ひらがなとカタカナ」を区別する。
vbTextCompare区別しない。

解説

検索文字が見つからなかったときは、文字列をそのまま返します。

置換文字に空文字 "" を指定すると、検索文字を削除して返します。

開始位置を省略すると、最初の文字から置換します。これは 1 を指定したときと同じです。

開始位置を指定すると、それより前の文字は戻り値で返りません。

置換回数を省略すると、見つかった全ての文字列を置換します。これは -1 を指定したときと同じです。

使用例

Dim s As String
s = Replace("123123", "1", "A")
Debug.Print(s) ' A23A23

s = Replace("123123", "A", "B")
Debug.Print(s) ' 123123

s = Replace("123123", "1", "")
Debug.Print(s) ' 2323

s = Replace("123123", "1", "A", 3)
Debug.Print(s) ' 3A23

s = Replace("123123", "1", "A", 1, 1)
Debug.Print(s) ' A23123

s = Replace("abcabc", "A", "B", 1, -1, vbBinaryCompare)
Debug.Print(s) ' abcabc

s = Replace("abcabc", "A", "B", 1, -1, vbTextCompare)
Debug.Print(s) ' BbcBbc

関連ページ