エクセルVBAで、セル範囲を検索して文字列を置換える方法を紹介しています。ここでは、Replace メソッドをつかって、セル範囲の文字を置換えしています。Replace メソッドでは、置き換えたい文字列に完全一致する文字列と、部分一致する文字列との、2パターンで置換することができます。エクセル機能を使って文字を検索、置き換えることもできますが、セルの範囲にある文字列を検索して、置換える作業が定期的にある場合、エクセルVBAだと一括で置換えできます。時間の短縮、面倒な手間を省いて、効率よく仕事をしましょう。
Replace メソッド
Replace メソッドは、セルの範囲で文字列を他の文字列に置換します。
文字列を置換する関数に、Replace 関数がありますが、ここでは、Replace メソッドでセル範囲の文字列の一部を、他の文字列に置き換える方法を紹介します。
Replace メソッドの構文
object.Replace ( what, replacement [, lookat, searchorder, matchcase, matchbyte, searchformat, replaceformat ] )
戻り値は Boolean 型です。
検索するデータがみつかった場合は、True を返します。
検索するデータを含むセルが存在しない場合は、False を返します。
引数の説明
What : 検索する文字列、置換する前の文字列を指定します。
Replacement : 置換える文字列を指定します。
LookAt:
省略可。What で指定した値と完全一致するか、部分一致するかどうかを、XlLookAt 列挙型で指定します。
SearchOrder:
省略可。検索方向が行(横方向)か、列(下方向)かを、XlSearchOrder 列挙型で指定します。
MatchCase:
省略可。大文字と小文字を区別するかを指定します。区別する場合は True を、区別しない場合は False を指定します。規定値は、Falseです。
MatchByte:
省略可。全角と半角を区別するかを指定します。区別する場合は True を、区別しない場合は False を指定します。規定値は、False です。
SearchFormat:
省略可。検索するセルの書式を指定します。書式を指定しない場合は False を指定します。規定値は、Falseです。
ReplaceFormat:
省略可。置換するセルの書式を指定します。書式を置換する場合は True を、書式を指定しない場合は False を指定します。
引数 LookAt の設定値
定数 | 値 | 内容 |
xlWhole | 1 | 完全一致 |
xlPart | 2 | 部分一致 |
引数 SearchOrder の設定値
定数 | 値 | 内容 |
xlByRows | 1 | 行方向 |
xlByColumns | 2 | 列方向 |
セル範囲を置換える
Replace メソッドで、セルの範囲を指定して、文字列の中の特定の文字を、他の文字に置き換えます。
完全一致
エクセルVBAで、セル範囲の文字列を置換えます。
セル範囲を検索して、「株式会社」に完全一致する文字だけを「(株)」に置換するコードです。
Sub セルの範囲で置換A()
Range(“A2:B5″).Replace What:=”株式会社”, Replacement:=”(株)”, LookAt:=xlWhole
End Sub
セル範囲「A2:B5」の「株式会社」が、「(株)」に置き換えられます。
部分一致
セル範囲を検索して、「株式会社」に完全一致、または部分一致する文字を「(株)」に置換するコードです。
Sub セルの範囲で置換B()
Range(“A2:B5″).Replace What:=”株式会社”, Replacement:=”(株)”, LookAt:=xlPart
End Sub
セル範囲「A2:B5」の、「株式会社」に完全一致、または部分一致する文字列が、「(株)」に置き換えられます。
「LookAt:=xlPart」を省略してもいいです。
Sub セルの範囲で置換B()
Range(“A2:B5″).Replace What:=”株式会社”, Replacement:=”(株)”
End Sub
1列全てを置換える
1列、全てを検索して、文字列を置換えるコードです。
ここでは、A列全てを検索して、「株式会社」を、「(株)」に置換ます。
Sub 列全て置換()
Range(“A:A”).Replace What:=”株式会社”, Replacement:=”(株)”
End Sub
A列にある、「株式会社」が、「(株)」に置き換えられます。
スペースを削除する
不要なスペースを、全て削除します。
ここでは、セル範囲「A2:B5」の全角スペースを削除しましょう。
Sub スペース削除()
Range(“A2:B5″).Replace What:=” ”, Replacement:=””
End Sub
セル範囲「A2:B5」にあるスペースが、全て削除されます。
こちらの記事もご覧ください。⇒エクセルVBAが初心者でも短期間でマスターできる楽パソ!音声と映像で自宅で学べる。
こちらの記事もご覧ください。⇒プログラミングスキルが初心者でも短期間でマスターできる楽パソ!音声と映像で自宅で学べる。
セル範囲での文字の置換
エクセルVBAを使うと、一括でセル範囲の文字列を検索して、文字の置換をします。いつも決まって、文字の置換を行う作業がある場合は、エクセルVBAだと間違うことなく、文字の置換ができます。例えば、セル範囲での置換のマクロを、ボタンに登録しておくと、ボタンをクリックするだけで、文字の置換ができます。Replace メソッドでは、色々、細かく指定ができます。エクセルVBAで、文字を置換える方法は他にもありますが、セル範囲にある全ての文字列を、置き換えたいならReplace メソッドを使いましょう。一括で簡単に置き換えてくれます。
こちらの記事もご覧ください。⇒エクセルVBAで、シート全体を一括で置換する
エクセル・ワード・パワーポイント・アクセス・マクロVBA・WEBプログラミングを入門から応用までらくらくマスターできる ➡ 動画パソコン教材 |
エクセルのマクロとVBAを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセルパワーポイント・アクセスとエクセルマクロVBA・WEBプログラミング・パソコンソフト作成を入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
VBA・Java・WEB・C#・HTML/CSSプログラミングを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセル・パワーポイント・アクセスを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセル・パワーポイント・アクセスとWEBプログラミングを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓