教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでReplace関数の使い方

構文

構文は以下の通りです。

Replace(文字列, 検索する文字列, 置き換える文字列, [開始位置], [一致の種類], [比較モード])

解説

Replace関数は、指定した文字列内で、検索した文字列を新しい文字列に置き換えるための関数です。文字列には、検索・置き換え対象の文字列を指定します。検索する文字列には、置き換え対象の文字列を指定します。置き換える文字列には、新しい文字列を指定します。開始位置(省略可)には、検索を始める位置を指定します。デフォルトは1(先頭から)となります。一致の種類(省略可)には、置き換える最大数を指定します。デフォルトは全て置き換えとなります。比較モード(省略可)には、大文字と小文字を区別するかどうかを指定します。デフォルトは区別しない指定となっています。例えば、文中の「りんご」をすべて「みかん」に変更するなどに使えます。

【比較モード】

定数 内容
vbBinaryCompare 0 バイナリ比較を行います。大文字と小文字を区別して比較します。
vbTextCompare 1 テキスト比較を行います。大文字と小文字を区別せずに比較します。

プログラミング例

具体的なプログラミング例を紹介します。

Sub 文字置き換え例()
    Dim 元の文章 As String
    Dim 変更後の文章 As String
    ' 元の文章を定義
    元の文章 = "りんごとバナナが好きです。りんごは甘いです。"
    ' Replace関数で「りんご」を「みかん」に置き換える
    変更後の文章 = Replace(元の文章, "りんご", "みかん")
    ' 結果をメッセージボックスで表示
    MsgBox "元の文章: " & 元の文章 & vbCrLf & "変更後の文章: " & 変更後の文章
End Sub

上記のプログラムでは、Replace関数を使って、「りんご」を「みかん」に置き換えています。元の文章は「りんごとバナナが好きです。りんごは甘いです。」です。Replace関数を使用すると、「りんご」が「みかん」に置き換わり、最終的に「みかんとバナナが好きです。みかんは甘いです。」という結果が得られます。

まとめ

Replace関数は、文字列内で特定の文字を別の文字に置き換えるための便利な関数です。主に文章の編集やデータの整形に使われます。