| 
    
     |  | ▼ハチ さん: レスありがとうございます。
 
 説明が分かりにくくて申し訳ありません。
 
 >>・コマンドボタンは Worksheet に配置し、クリックイベントは独自のもの(Worksheet クラス標準のイベントでない)
 >
 >ここの意味がわかりませんでした。
 >Worksheetモジュールでのイベント定義は使用しない ということですか?
 独自のものというのは例えば「Worksheet_SelectionChange」などの Worksheet のイベントではなく、
 「CmdBtn_Click」などの Worksheet クラス以外のイベントという意味です。
 Worksheet モジュールでのイベント定義は使用はしますが、(重複するコード等を)極力減らしたいと思っています。
 
 >コマンドボタンのコントロール名が各Worksheetで同じであれば、
 >WorkSheet全体をクラス化しなくてもできます。
 >
 >'ThisWorkbookモジュール
 >Option Explicit
 >
 >Private WithEvents CmdBtn As CommandButton
 >
 >Private Sub Workbook_SheetActivate(ByVal Sh As Object)
 >  On Error Resume Next
 >    Set CmdBtn = ActiveSheet.CommandButton1
 >  On Error GoTo 0
 >End Sub
 >
 >Private Sub CmdBtn_Click()
 >  MsgBox "クリック!"
 >End Sub
 なるほど。
 こういった書き方ができるのですね。
 ちなみに「WorkSheet全体をクラス化しない」とは
 各 WorkSheet 内でもイベント等を記述できるという解釈でいいでしょうか?
 (上記処理はクラス化されている)
 
 |  |