あいまいな条件で文字列を置換

以下のコードは、指定したセル範囲内で部分一致する文字列を検索し、別の文字列に置換する方法を示しています。

' あいまいな条件で文字列を置換
Private Sub Replace_LookAt_xlPart()
    'セルB2を含む範囲で、「SA」を含むセルを検索し、
    '「SA」を「TA」に置換する
    Range("B2").CurrentRegion.Replace _
        What:="SA", Replacement:="TA", LookAt:=xlPart
End Sub

コードの詳細な説明

  1. サブルーチンの宣言:Private Sub Replace_LookAt_xlPart()
    • このサブルーチンは、部分一致で文字列を置換する処理を行います。
  2. セル範囲内の文字列を置換:Range("B2").CurrentRegion.Replace _ What:="SA", Replacement:="TA", LookAt:=xlPart
    • Range("B2").CurrentRegion:
      • セル B2 を基準にして、そのセルが含まれる連続したセル範囲(CurrentRegion)を取得します。この範囲は、隣接するすべてのデータが含まれる領域を指します。
    • .Replace メソッド:
      • 取得したセル範囲内で文字列を置換します。
      • What:="SA":
        • 置換の対象となる文字列です。ここでは「SA」を検索します。
      • Replacement:="TA":
        • 置換後の文字列です。ここでは「SA」を「TA」に置換します。
      • LookAt:=xlPart:
        • 文字列の部分一致を指定します。つまり、セル内に「SA」が含まれていれば、その部分のみを「TA」に置換します。たとえば、「SALES」は「TALES」になります。

実行の流れ

  1. セル範囲の特定:
    • セル B2 を基準として、そのセルが含まれる連続したセル範囲を取得します。
    • 例えば、セル B2 を中心とするデータの連続した範囲(テーブルやリスト)全体が対象となります。
  2. 文字列の置換:
    • Replace メソッドを使用して、指定した文字列を部分一致で検索し、置換します。
    • What:="SA" で「SA」を検索し、Replacement:="TA" で「TA」に置換します。
    • LookAt:=xlPart により、セル内の部分一致で置換が行われます。

使用例

例えば、セル範囲内に以下のデータがあるとします:

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

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

Follow me!