• 虹色ミツバチ
  • freoカスタマイズメモ、テンプレート・プラグイン配布/officeTIPS
検索プラグイン

> Entry >MOS>Microsoft Office Excel>マクロ/VBA> ExcelVBAで文字列を置換する方法

【MOS】【Microsoft Office Excel】【マクロ/VBA】ExcelVBAで文字列を置換する方法

ExcelVBAで文字列を置換するには、Replace関数を利用します。
下記のように記述すると、「置換前の文字列」から「検索する文字列」を検索し、「置換する文字列」に置換します。

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

※「開始位置」「置換回数」「比較モード」は省略可能です。
※「置換する文字列」を「""(入力無し)」にすると、「検索する文字列」を削除することができます。

Replace関数を利用して文字列を置換する
Sub sample()
    Dim sample, test, result As String
    
    sample = 'SAMPLE'
    test = 'TEST'
    
    result = Replace(sample, sample, test)
    
    MsgBox(result)

End Sub

上記のようにすると、「SAMPLE」という文字列が「TEST」に置換され、結果的に「TEST」という文字列が表示されます。

Replace関数を利用してスペースを削除する

スペースを削除するときは、全角スペース用のReplace関数と半角スペース用のReplace関数を重ねて利用します。

Sub sample()
    Dim sample, result As String

    sample = 'この文字列には「 (全角スペース)」と「 (半角スペース)」が含まれています。'

    result = Replace(Replace(sample," ","")," ","")

    MsgBox(result)

End Sub

下記のようにすると、「この文字列には「 (全角スペース)」と「 (半角スペース)」が含まれています。」からスペースが削除されて、「この文字列には「(全角スペース)」と「(半角スペース)」が含まれています。」と表示されます。

Replace関数を利用して改行を削除する

Excel内ではAlt+Enterで改行を行うことができます。
上記改行を削除するときは、下記のようにします。

Sub sample()
    Dim result As String
    result = Replace(ActiveCell, vbLf, "")

    MsgBox(result)

End Sub

Excelでは改行コードは「vbLf」を利用していますが、その他の改行コードを削除するときは、「vbLf」部分を下記のように変更してください。

  • CR……vbCr
  • LF……vbLf
  • CR+LF……vbCrLf

ページ移動

関連記事

ユーティリティ

Twitter

記事検索

ページ上部へ