|
▼ハチ さん:
レスありがとうございます。
説明が分かりにくくて申し訳ありません。
>>・コマンドボタンは 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 内でもイベント等を記述できるという解釈でいいでしょうか?
(上記処理はクラス化されている)
|
|