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

 

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

 

基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

 

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を多用し、手動作業を減らしたいと考えている方へ
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事

 

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

大文字と小文字を区別しない置換
「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で自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。