• ベストアンサー

なぜ、ByVal Sh As Objectは

NewSheetイベントについて質問なのですが、 なぜ、ByVal Sh As Objectは、Objectなのでしょうか? Sub Workbook_NewSheet(ByVal Sh As Worksheets) や Sub Workbook_NewSheet(ByVal Sh As Worksheet) にしたら、コンパイルエラーになります。 シートの方では、 Private Sub Worksheet_Change(ByVal Target As Range) のようにrange型で宣言しているのに、なぜシートはオブジェクト型で宣言するのでしょうか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

エクセル画面でシート名タブのところを右クリックして挿入という操作を実際に行ってみると、「挿入できるシートの種類」が幾つかあるのが目で見られます。 ワークシートはその内の1つでしかありませんが、NewSheetイベントはどれが挿入されても発生します。 共通で受けるには、汎用のobject型で備えておくしかありません。

BEWQWBPRPR5
質問者

お礼

ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A