-
∨目次
- 構文
- 解説
- 使用例
VBA Replace 関数
はじめに
Excel VBA マクロの Replace 関数を紹介します。
Replace 関数は、文字列を置換します。
文字列の一部を置換や削除したいときに使用します。
-
目次
- 構文
- 解説
- 使用例
構文
Replace(文字列, 検索文字, 置換文字)
文字列の検索文字を置換文字に置換します。
Replace(文字列, 検索文字, 置換文字, 開始位置, 置換回数, 比較モード)
置換する開始位置を指定できます。複数の検索文字が見つかったときの置換回数を指定できます。比較モードで大文字と小文字を区別するか指定できます。
引数「文字列」 | 置換元の文字列を指定します。 |
引数「検索文字」 | 検索する文字列を指定します。 |
引数「置換文字」 | 置換する文字列を指定します。 |
引数「開始位置」 | 省略できます。何文字目から置換するか指定します。 |
引数「置換回数」 | 省略できます。引数「検索文字」が複数見つかったときに、何個置換するか指定します。 |
引数「比較モード」 | 省略できます。大文字と小文字を区別して検索するかを指定します。 |
戻り値の型 | 文字列型 (String) |
引数「比較モード」
単位 | 説明 |
vbBinaryCompare (既定) | 「大文字と小文字」、「半角と全角」、「ひらがなとカタカナ」を区別する。 |
vbTextCompare | 区別しない。 |
解説
引数「検索文字」が見つからなかったときは、引数「文字列」を返します。
引数「置換文字」に空文字""を指定すると、引数「検索文字」を削除できます。
引数「開始位置」を省略すると 1 文字目から置換します。これは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) ' 3 文字目から開始
Debug.Print(s) ' 3A23
s = Replace("123123", "1", "A", 1, 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
s = Replace(" A B C ", " ", "", compare:=vbTextCompare) ' 空白を削除する
Debug.Print(s) ' ABC