• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル:シートを切り替えずに別シート上の操作をする)

エクセル:シートを切り替えずに別シート上の操作をする

このQ&Aのポイント
  • エクセルでシートを切り替えずに別のシート上の操作を行う方法について質問があります。
  • 特定の条件下で、シート1に入力した値を基に、周囲のセルの罫線の色を変更するコードを作成したいです。
  • また、同じ操作を別のシート(Sheet2)にも行いたいが、シートを切り替えずに実行する方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

> For Each Y In Worksheets("Sheet2").Range(Cells(M_Row - 2, M_Clm), Cells(M_Row + 1, M_Clm + 5)) のRangeはSheet2を参照しているのに、CellsはこのままではActiveSheetすなわちSheet1を参照することになるので、当然オブジェクト定義エラーになる。 ここは、長くなるが、 For Each Y In Worksheets("Sheet2").Range(Worksheets("Sheet2").Cells(M_Row - 2, M_Clm), Worksheets("Sheet2").Cells(M_Row + 1, M_Clm + 5)) としなければならない。 with を使え。

tktk1228
質問者

お礼

回答ありがとうございます。 With Worksheets("Sheet2") End With で挟んで望んだような動作となり、解決しました。 Cellsの説明で「Objectの指定を省略したときにはアクティブシー トが対象となります。」という文も発見しました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう