VBAで
・シート上の文字列を
・一括で置換
できます!
置換対象の範囲として
・指定したシートの列のみ
・指定したシートの行のみ
・指定したシート全体
の3種類を指定できます!
他の記事の内容と組み合わせることで
・ブック全体(=全てのシート)を置換対象
にすることもできます!
VBAコード
ここでは例として、
・シート「sample」の「B列(=2列目)」のみを対象に
・文字列「(株)」を「株式会社」へ置換
します。
Option Explicit
Sub sample()
Dim targetColumn As Integer
Dim srcStr As String
Dim destStr As String
'置換対象の列
targetColumn = 2
'置換前の文字列を設定
srcStr = "(株)"
'置換後の文字列を設定
destStr = "株式会社"
'シート上の文字列を置換
Worksheets("sample").Columns(targetColumn).Replace What:=srcStr, _
Replacement:=destStr, _
LookAt:=xlPart, _
MatchCase:=True
End Sub
実行結果
指定した文字列を置換できました。
シート「sample」の「B列(=2列目)」のみを対象に、文字列「(株)」を文字列「株式会社」へ置換できました。
●実行前
●実行後
参考①
本記事と以下の記事の内容を組み合わせることで
・ブック全体(=全てのシート)に対して、文字列を一括で置換
できます。
またさらに、以下の記事の内容と組み合わせることで
・指定フォルダ配下にある全てのエクセルファイルに対して、文字列を一括で置換
できます。
参考②
指定した文字列が設定されているセルの背景色を置換することもできます。
詳細は以下の記事をご確認ください。
参考③
セルに設定されている文字列の一部を置換することもできます。
詳細は以下の記事をご確認ください。
参考④
変数の設定値(文字列)を置換することもできます。
詳細は以下の記事をご確認ください。
参考⑤
指定した文字列のフォントを変更することもできます。
詳細は以下の記事をご確認ください。
参考⑥
テキストファイル内の文字列の置換もできます。
詳細は以下の記事をご確認ください。
参考⑦
上記のVBAコードで使用している以下の詳細は、公式サイトをご確認ください。
●「Worksheetオブジェクト」の「Columns」プロパティ
※指定した列のセルを示す「Rangeオブジェクト」を取得します。
●「Worksheetオブジェクト」の「Rows」プロパティ
※指定した行のセルを示す「Rangeオブジェクト」を取得します。
●「Worksheetオブジェクト」の「Cells」プロパティ
※指定したシート全体のセルを示す「Rangeオブジェクト」を取得します。
●「Rangeオブジェクト」の「Replace」メソッド
※置換処理をします。