昨日見た夢を教えて下さい

ワークブックのイベントWorkbook_Openを標準モジュールのAuto_Openで代用できるように
ワークシートのイベントWorksheet_Changeを標準モジュールで実行できるようにすることは
できなものでしょうか。
その他のイベントに関しても情報があれば教えてください。

A 回答 (2件)

>ワークシートのイベントWorksheet_Changeを標準モジュールで実行できるようにすることは


できなものでしょうか。

質問の意味が良く分かりませんね。どのオブジェクトに対して、イベントを設けたいのですか?

標準モジュールは、直接のオブジェクトを持っていません。だから、一般的に、標準モジュールからイベントは設けられません。イベントは、基本的にインスタンスです。

>Workbook_Openを標準モジュールのAuto_Open
もちろん、他のイベントも、同様に残っています。Auto_Openは時代の古いものです。ですから、古い書き方の"OnEntry"など、いわゆるオートマチック・イベントは、未だ、残っていますが、古いExcelバージョンでもなければ、もはや使いません。しかし、いずれにしても、シートオブジェクトは指定しなくてはなりません。

何をしたいのですか?同じブック内なら、ThisWorkbookモジュールに

Private Sub Workbook_SheetChange
を、書けば済みます。それ以外のことをしたいのですか?
    • good
    • 1
この回答へのお礼

単にWokboookやWorksheetには、記述しないほうがわかりやすいような気がしました。
Auto_Openは時代の古いものです。
勉強になりました。ありがとうございました。

お礼日時:2011/01/16 21:27

標準的にはありませんが,たとえば下記のようなMacro1を事前に実行しておくことで代行はできます。



sub macro1()
activeworkbook.worksheets("Sheet1").onentry = "Macro2"
end sub

sub macro2()
msgbox "Enter"
end sub


その他のイベント類似の命令として,onkeyなども稀に出てきますね。
    • good
    • 0
この回答へのお礼

onentry, onkey
勉強します。ありがとうございました。

お礼日時:2011/01/16 21:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報