あいまいな条件で文字列を置換
以下のコードは、指定したセル範囲内で部分一致する文字列を検索し、別の文字列に置換する方法を示しています。
' あいまいな条件で文字列を置換
Private Sub Replace_LookAt_xlPart()
'セルB2を含む範囲で、「SA」を含むセルを検索し、
'「SA」を「TA」に置換する
Range("B2").CurrentRegion.Replace _
What:="SA", Replacement:="TA", LookAt:=xlPart
End Subコードの詳細な説明
- サブルーチンの宣言:
Private Sub Replace_LookAt_xlPart()- このサブルーチンは、部分一致で文字列を置換する処理を行います。
- セル範囲内の文字列を置換:
Range("B2").CurrentRegion.Replace _ What:="SA", Replacement:="TA", LookAt:=xlPartRange("B2").CurrentRegion:- セル
B2を基準にして、そのセルが含まれる連続したセル範囲(CurrentRegion)を取得します。この範囲は、隣接するすべてのデータが含まれる領域を指します。
- セル
.Replaceメソッド:- 取得したセル範囲内で文字列を置換します。
What:="SA":- 置換の対象となる文字列です。ここでは「SA」を検索します。
Replacement:="TA":- 置換後の文字列です。ここでは「SA」を「TA」に置換します。
LookAt:=xlPart:- 文字列の部分一致を指定します。つまり、セル内に「SA」が含まれていれば、その部分のみを「TA」に置換します。たとえば、「SALES」は「TALES」になります。
実行の流れ
- セル範囲の特定:
- セル
B2を基準として、そのセルが含まれる連続したセル範囲を取得します。 - 例えば、セル
B2を中心とするデータの連続した範囲(テーブルやリスト)全体が対象となります。
- セル
- 文字列の置換:
Replaceメソッドを使用して、指定した文字列を部分一致で検索し、置換します。What:="SA"で「SA」を検索し、Replacement:="TA"で「TA」に置換します。LookAt:=xlPartにより、セル内の部分一致で置換が行われます。
使用例
例えば、セル範囲内に以下のデータがあるとします:

このコードを実行すると、以下のように置換されます:

このコードは、特定の文字列を部分一致で検索して置換するため、データのクリーニングや標準化の際に非常に役立ちます。


