特定の範囲を置換する

特定の範囲を置換する


Find(keyword)

文字列を指定し、検索で合致するセルを置換する

範囲を指定(Range(X:X)し、Replaceを実行することで、該当キーワードに一致するセルの文字列を指定文字列に置換できます。

以下のサンプルにおいて、「おにぎり」と入力し、セルの移動を行い、その後でReplaceで「パン」に置換しています。

EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
EXCEL.workbooks.add()
EXCEL.ActiveCell.value = "おにぎり"
EXCEL.ActiveCell.Offset(10,10).Select
A = EXCEL.Range("A1:J10").Replace("おにぎり","パン")

複数の箇所が置換されるか確認する

上記のスクリプトでは、一瞬のうちに処理が完了してしまうので、本当に挙動したかわかりにくいです。
次のスクリプトで、メッセージによる処理のコメントを行い、複数セルの一斉処理が出来るか確認してみましょう
これで処理の流れがわかりやすくなると思います。
スクリプトは下記のようになります。

EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
EXCEL.workbooks.add()
EXCEL.ActiveCell.value = "a"
EXCEL.ActiveCell.Offset(10,10).Select
MSGBOX("いったん、セルを別の箇所に移動します")
MSGBOX("検索結果のセル位置を表示します")
PRINT EXCEL.Range("A1:J10").Find("a").Address
MSGBOX("検索結果のセル位置を赤色にします")
EXCEL.Range("A1:J10").Find("a").Interior.ColorIndex = 3

該当のセルが赤色になりました。

関連情報:

  1. 特定の範囲を検索する
  2. 検索を繰り返す
  3. セルを絶対移動、相対移動する
  4. オートフィルを実行する
  5. 対象セルを含む領域の終端を取得する

このエントリーを含むはてなブックマーク Buzzurlにブックマーク Yahoo!ブックマークに登録

コメント

コメントは受け付けていません。

このページの先頭へ