アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCEL2010でVBAを使用しています。
シートモジュールを使用して特定のシートがアクティブになるとコードが実行されるようにしたいのですが、問題が一点ありまして。
特定のシートは別のコマンドを使用したときに作成されるので最初からあるシートではありません。
なのでシートモジュールにコードを入力しておくことができません。

処理の流れ
1.シートAでコマンドボタンをクリック
2.コードが実行されてシートB(特定のシート)・シートC~シートFを作成

シートが作成されると同時にシートモジュールに決められたコードを自動で入力するというような
方法はないでしょうか?

A 回答 (1件)

こんにちは。



別のコマンドで作成されるシートのシート名が一定であれば、シートモジュールではなくて、ThisWorkbookモジュールのSheetActivateイベントを使えばいいでしょう。
このイベントは、シートがアクティブになったときに発生します。
イベントが発生した時に、シート名で判断してやればいいでしょう。

また、特定のシートが作成された時だけに実行すればよいのであれば、NewSheetイベントというシートが作成されたときに発生するイベントがあるので、これを使うという方法もあります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
そのような方法があるとは知りませんでした。
さっそく見てみようと思います。

お礼日時:2011/08/10 08:33

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