
No.2ベストアンサー
- 回答日時:
VBEのVBAProjectにSheet1などシートモジュールがあります。
そのWorkBook版だと思えばよいと思います。(1)Workbookのイベントのプロシージュアー
(2)各個々のSheetに関連して、その上(どのシートにおいてもそのイベントが起これば)のレベルでシートのイベントを捉える
(3)Window画面関連
(4)その他
などをここに書く。
(1)はOpen、Close、Activate、それらのBefoe版
(2)はSheettXXXの形のもの、Newsheet
(3)はWindowActivateなど
(4)その他PivotTableやAddinとの絡み
ーー
>便利な機能があるのでしょうか
便利というか、ユーザーが利用したいとき、あれば使えて貴重、無ければどうするかというものだと思います。
これ以外のほしいものは無いのか、とは思います。
(1)以外は、高等な使い方をする方向きの選択肢という気がします。

No.1
- 回答日時:
例えば各シートには Activate イベントがあります。
TshisWorkbook にも SheetActivate イベントがあります。
これらの違いをよ~く見てください。
Sheet1 の Activate イベントは
Private Sub Worksheet_Activate()
となっており、
ThisWorkbook の方は
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
となっています。違いが分かりましたか?
ThisWorkbook の Activate イベントには引数がありますね。
この引数は何だと予想しますか?
アクティブになったシートを表す Worksheet オブジェクトです。
シートがアクティブになったときに何らかの処理をしたい場合、それが Sheet1 の場合だけなら Sheet1 の Activate イベントに記述すれば済みますが、いくつかのシートである程度共通した処理をしたい場合は ThisWorkbook の SheetActivate イベントを利用します。
下記コードはアクティブになったシートのセル A1 に、現在の日時を書き込み、さらにはシートの名前によって処理を分けています。(具体的な処理は書いてませんが)
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.Cells(1, 1).Value = Now()
Select Case Sh.Name
Case "Sheet1"
' 処理1
Case "Sheet2"
' 処理2
Case "Sheet3"
' 処理3
End Select
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
XL:BeforeDoubleClickが動かない
-
ExcelのVBAのマクロで他のシー...
-
excelのマクロで該当処理できな...
-
VBA 指定した回数分、別シート...
-
エクセルVBAで。
-
Excel VBA リンク先をシート...
-
実行時エラー'1004': WorkSheet...
-
VBA 検索して一致したセル...
-
実行時エラー1004「Select メソ...
-
エクセルVBA Ifでシート名が合...
-
特定の文字を含むシートだけマ...
-
EXCELVBAを使ってシートを一定...
-
別のシートを参照して計算する方法
-
ExcelVBA シート名を複数セルか...
-
ブック名、シート名を他のモジ...
-
【Excel VBA】Worksheets().Act...
-
【VBA】色のついたシート名を取得
-
Excel VBA で自然対数の関数Ln...
-
ユーザーフォームに入力したデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
エクセルVBA Ifでシート名が合...
-
実行時エラー1004「Select メソ...
-
VBA 存在しないシートを選...
-
エクセルで通し番号を入れてチ...
-
VBA 検索して一致したセル...
-
XL:BeforeDoubleClickが動かない
-
VBA 指定した回数分、別シート...
-
VBAマクロでシートコピーした新...
-
シートが保護されている状態で...
-
ブック名、シート名を他のモジ...
-
【VBA】全ての複数シートから指...
-
別のシートから値を取得するとき
-
ExcelのVBAのマクロで他のシー...
-
Excel チェックボックスにチェ...
おすすめ情報