Excel VBA replace関数は、文字列内の特定の部分を別の文字列に置換するために使用します。これで文字列操作が簡単に行えます。使い方や注意点など、サンプルコードをもとに具体的に解説します。
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事
以下のようなシーンで利用されます。
・文字列内の特定の単語やフレーズを別のものに置き換える。
・データクレンジングの一環として、不要な文字や記号を取り除く。
・特定のパターンに基づいてデータをフォーマットする。
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で自動化するコードのベースを習得したい方におすすめの記事
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エキスパート」をご確認ください。