エクセルVBAで、複数の文字列を置換える方法を紹介しています。文字列の一部を置き換える方法は、色々ありますが、ここでは、Replaceメソッドを使って置換しています。Replaceメソッドは、セルの範囲で文字列を置き換えたり、シートを指定して、文字列を置換えたりすることができます。例えば、ダウンロードしたデータなど、一部だけで文字化けしている場合もあります。そのような文字を、エクセルVBAで一括で置換えることができます。置換たい文字列が複数あるときは、その複数の文字列を一括で、Replaceメソッドで置換ます。1つずつ文字列を置換る必要はありません。
Replaceメソッド
Replaceメソッドを使って、複数の文字列を一括で置換します。
Replace メソッドの構文
object.Replace ( what, replacement [, lookat, searchorder, matchcase, matchbyte, searchformat, replaceformat ] )
セル範囲を指定して複数の文字列を置換
Replace メソッドを使うと、セル範囲の文字列の置換ができます。
アクティヴシートのセル範囲「A2:A9」の複数の、文字列を置換えします。
下の表の「a」を「A」、「n」を「N」、「p」を「P」に置換えてみましょう。
セル範囲「A2:A9」の、複数文字を置換するコード
Sub 複数の文字列を置換()
With Range(“A2:A9″)
.Replace What:=”a”, Replacement:=”A”, LookAt:=xlPart
.Replace What:=”n”, Replacement:=”N”
.Replace What:=”p”, Replacement:=”P”
End With
End Sub
セル範囲「A2:A9」の「a」が「A」、「n」が「N」、「p」が「P」に置換えられました!
シートとセル範囲を指定して複数文字を置換
シートを指定して、「A2:A9」の複数の文字列を置換するコードです。
「契約」シート、セル範囲「A2:A9」の複数の文字列を置換えします。
Sub シートを指定して複数文字列を置換()
Sheets(“契約”).Activate
With Range(“A2:A9″)
.Replace What:=”a”, Replacement:=”A”, LookAt:=xlPart
.Replace What:=”n”, Replacement:=”N”
.Replace What:=”p”, Replacement:=”P”
End With
End Sub
または、次のコードでも置換できます。
Sub シートを指定全体を複数置換P()
Sheets(“契約”).Select
With Range(“A2:A9″)
.Replace What:=”a”, Replacement:=”A”, LookAt:=xlPart
.Replace What:=”n”, Replacement:=”N”
.Replace What:=”p”, Replacement:=”P”
End With
End Sub
シート全体の複数文字を置換
エクセルVBAで、アクティブシートシート全体の複数の文字列を置換えします。
アクティブシートシート全体の、複数の文字列を置換するコードです。
Sub アクティブシート全体の複数の文字列を置換()
With Sheets
Cells.Replace What:=”a”, Replacement:=”A”, LookAt:=xlPart
Cells.Replace What:=”n”, Replacement:=”N”
Cells.Replace What:=”p”, Replacement:=”P”
End With
End Sub
シートを指定して、シート全体の複数の文字列を置換するコードです。
Sub シートを指定全体を複数置換W()
Sheets(“契約”).Select
With Selection
Cells.Replace What:=”a”, Replacement:=”A”, LookAt:=xlPart
Cells.Replace What:=”n”, Replacement:=”N”
Cells.Replace What:=”p”, Replacement:=”P”
End With
End Sub
全角スペースと半角スペースを、シート全体から削除するコードです。
Sub 空白をアクティブシートから削除()
With Sheets
Cells.Replace What:=” ”, Replacement:=””, LookAt:=xlPart
Cells.Replace What:=” “, Replacement:=””
End With
End Sub
シートから、不要なスペースが全て削除されます。
こちらの記事もご覧ください。⇒エクセルVBAが初心者でも短期間でマスターできる楽パソ!音声と映像で自宅で学べる。
こちらの記事もご覧ください。⇒プログラミングスキルが初心者でも短期間でマスターできる楽パソ!音声と映像で自宅で学べる。
文字列の置換
エクセルで文字列を置換える方法は他にもありますが、エクセルVBAで、複数の文字列を置換える場合は、Replace メソッドです。Replace メソッドは、構文が長いので使いにくそうに思えますが、使い方は難しくありません。使い方をマスターすると、セル範囲や、シートを指定して、一括で文字列を他の文字列に置換ます。複数の文字列も一括で置換えられるので、定期的に文字列の置換を行う作業がある場合は、Replace メソッドです。エクセルVBAで仕事を効率化しましょう。
こちらの記事もご覧ください。⇒エクセルVBAでブック全体に置換する
エクセル・ワード・パワーポイント・アクセス・マクロVBA・WEBプログラミングを入門から応用までらくらくマスターできる ➡ 動画パソコン教材 |
エクセルのマクロとVBAを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセルパワーポイント・アクセスとエクセルマクロVBA・WEBプログラミング・パソコンソフト作成を入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
VBA・Java・WEB・C#・HTML/CSSプログラミングを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセル・パワーポイント・アクセスを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセル・パワーポイント・アクセスとWEBプログラミングを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓