エクセルVBAで、文字列の一部を他の文字に置換える方法を紹介します。文字列の置換は、Replace 関数を使います。Replace 関数は指定した文字列の中の一部を、他の文字に置換えることができます。エクセルでの検索と置換と、同じ働きをします。手作業や、エクセル機能を使って、検索、置き換えをするのもいいですが、置換する文字列がいつも決まっているなら、VBAを使うと一発で置換えできます。置換する文字列が大量にある場合はどうでしょう。VBAを使った方が、効率よく、文字列の一部を他の文字に置換えできます。ここでは、セルを指定して、文字列の一部を置き換えたり、1列からまたは、1行から文字を検索して、他の文字列に置換えしています。
エクセルVBAで、文字列の一部を他の文字に置換するにはReplace 関数を使います。
目次
Replace関数
Replace 関数の構文は次のとおりです。
構文
Replace(expression, find, replace[, start[, count[, compare]]])
expression :検索する文字列を指定します。
find :置換する文字列を指定します。
replace :置き換える文字列を指定します。
start :省略可能。検索開始位置を指定します。省略すると1 が設定されます。
count :省略可能。置換する文字列の数を指定します。省略するとすべて置換されます。
compare :省略可能です。文字列を比較するモードを指定します。
引数compareの設定値
定数 | 値 | 内容 |
vbUseCompareOption | -1 | Option Compareステートメントの設定を使用して比較します。 |
vbBinaryCompare | 0 | バイナリモードで比較します。大文字と小文字の区別をしません 。 |
vbTextCompare | 1 | テキストモードで比較します。 |
vbDatabaseCompare | 2 | Microsoft Access の場合のみ使用できます。 |
文字列の一部を他の文字に置き換える
アクティブシートの、指定したセルの文字列の一部を置換えします。
ここでは、文字列の中にある「株式会社」を「(株)」に置換えています。
Cellsプロパティを使って、文字列の一部を置換えるコードです。
Sub 文字列の一部を置換A()
Cells(1, 1) = Replace(Cells(1, 1), “株式会社”, “(株)”)
End Sub
Rangeプロパティを使って、文字列の一部を置換えるコードです。
Sub 文字列の一部を置換B()
Dim WMc As Range
Set WMc = Range(“A1”)
WMc.Value = Replace(WMc.Value, “株式会社”, “(株)”)
End Sub
セル「A1」の文字列から、「株式会社」が「(株)」に置き換えられます。
1列を検索して、文字列の一部を他の文字に置き換える
1列を検索して、文字列の一部を置換えるコードです。
ここではA列、「A2:A100」を検索して文字の置換をしています。
「A2:A100」を検索して、「株式会社」を「(株)」に置換えるコードです。
Sub 1列()
Dim i As Long
For i = 2 To 100
Cells(i, 1) = Replace(Cells(i, 1), “株式会社”, “(株)”)
Next i
End Sub
「A2:A100」の文字列から、「株式会社」が「(株)」に置き換えられます。
1行を検索して、文字列の一部を他の文字に置き換える
1行を検索して、文字列の一部を置換えるコードです。
ここでは先頭行、「A1:J1」を検索して文字の置換をしています。
「A1:J1」を検索して、「株式会社」を「(株)」に置換えるコードです。
Sub 1行()
Dim i As Long
For i = 1 To 10
Cells(1, i) = Replace(Cells(1, i), “株式会社”, “(株)”)
Next i
End Sub
「A1:J1」の文字列から、「株式会社」が「(株)」に置き換えられます。
空白を削除する
文字列にある空白を削除するコードです。
「A2:A100」を検索して文字列にある、全角スペースを削除します。
Sub 空白()
Dim i As Long
For i = 2 To 100
Cells(i, 1) = Replace(Cells(i, 1), “ ”, “”)
Next i
End Sub
こちらの記事もご覧ください。⇒エクセルVBAが初心者でも短期間でマスターできる楽パソ!音声と映像で自宅で学べる。
こちらの記事もご覧ください。⇒プログラミングスキルが初心者でも短期間でマスターできる楽パソ!音声と映像で自宅で学べる。
文字列の置換
エクセルVBAで、文字の一部を置換えましたが、文字の置換の使い方には色々あります。構文が長いので間違いやすいですが、Replace 関数は、エクセルの検索、置換と同じ働きをするので、基本をしっかり覚えましょう。エクセルVBAで、文字を置き換える方法は他にもありますが、文字列を単純に他の文字に置換するなら、Replace 関数です。1行、または1列を検索して、文字列の一部を、他の文字に置換することもできます。定例で、文字列を置換するならReplace 関数を使いましょう。文字列が列、または行で置換する文字列が決まっているなら、エクセルVBAで置換えすると、一発で置換えできます。
こちらの記事もご覧ください。⇒エクセルVBAでセル範囲で置換する
エクセル・ワード・パワーポイント・アクセス・マクロVBA・WEBプログラミングを入門から応用までらくらくマスターできる ➡ 動画パソコン教材 |
エクセルのマクロとVBAを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセルパワーポイント・アクセスとエクセルマクロVBA・WEBプログラミング・パソコンソフト作成を入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
VBA・Java・WEB・C#・HTML/CSSプログラミングを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセル・パワーポイント・アクセスを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセル・パワーポイント・アクセスとWEBプログラミングを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓