Excel VBA replaceで文字列内の特定部分を別の文字列に置換するコード

 

Excel VBA replace関数は、文字列内の特定の部分を別の文字列に置換するために使用します。これで文字列操作が簡単に行えます。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA replaceで置換利用シーン

以下のようなシーンで利用されます。

・文字列内の特定の単語やフレーズを別のものに置き換える。

・データクレンジングの一環として、不要な文字や記号を取り除く。

・特定のパターンに基づいてデータをフォーマットする。

 

Excel VBA replaceで置換|使い方とポイント

使い方

Replace(Expression As String, Find As String, Replace As String, [Start As Long], [Count As Long], [Compare As VbCompareMethod]) As String

・Expression 置換操作を行う対象の文字列
・Find 検索する文字列
・Replace 置換する文字列
・Start 検索を開始する位置(省略可能)
・Count 置換する回数(省略可能)
・Compare 検索の比較方法(省略可能)vbBinaryCompare(バイナリ比較)またはvbTextCompare(テキスト比較)が使用できます。

 

ポイント

・置換操作は元の文字列を変更するのではなく、新しい文字列を返します。

 

Excel VBA replaceで置換 サンプルコード

基本的な使い方
文字列内の「Apple」を「Orange」に置換する例
Option Explicit

Sub ReplaceExample()
    Dim originalText As String
    Dim newText As String
    
    originalText = "I like Apple."
    newText = Replace(originalText, "Apple", "Orange")
    
    MsgBox newText ' 結果: "I like Orange."
End Sub

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

大文字と小文字を区別しない置換
「apple」から「APPLE」など、大文字小文字の違いを無視して置換する例

Option Explicit

Sub ReplaceIgnoreCaseExample()
    Dim originalText As String
    Dim newText As String
    
    originalText = "I like apple. I like APPLE."
    newText = Replace(originalText, "apple", "Orange", 1, -1, vbTextCompare)
    
    MsgBox newText 
End Sub

部分的に置換する
特定の部分だけを置換する例(先頭から1文字目以降で検索し、最初の1回だけ置換する)

Option Explicit

Sub ReplacePartialExample()
    Dim originalText As String
    Dim newText As String
    
    originalText = "I like Apple. Apple is tasty."
    newText = Replace(originalText, "Apple", "Orange", 1, 1)
    
    MsgBox newText 
End Sub

これらの例を使って、Replace関数の使い方とその効果を理解し、さまざまなパターンで文字列置換を行えるようになります。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問