Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


41123 / 76732 ←次へ | 前へ→

【40691】Re:Formが開いている間に別のシートが選択さ...
回答  ハト  - 06/7/20(木) 14:42 -

引用なし
パスワード
   おはようございます

▼リョウタ さん:
>初めて投稿させていただくものですが、質問の答えがお分かりの方はお教えいただければ幸いです。
>
>現在 Form を利用した VBA アドインを作成しているのですが、Form の起動時にアクティブ シートの使用中の列と行を
>ActiveSheet.UsedRange.Columns(.Columns.Count).Column
>などとして取得しています。この Form には実行ボタンを貼り付けてあり、実行ボタンを押すと、アクティブシートのデータを元にプログラムが実行されます。
>
>しかし、Form 起動時のアクティブシートに必ずしもプログラムを実行させたいデータが存在するとも限らないので、ユーザーが Form 起動後に別のシートを選択した場合、その際に Worksheet_Activate イベント (または別のシートが選択されたと分かるイベント) を発生させて Form 起動時と同じように使用中の列と行を取得したいと思っています。
>
>Worksheet_Activate イベントプロシージャは、Excel の Visual Basic Editor を開いて
>VBAProject
> - Microsoft Excel Objects
>   - Sheet1 (Sheet1)
>などのシートのコードエリアに直接書き込むことによってイベントを発生させることはできるようですが、開かれた xls ファイル内のシート群を元に dynamic にイベントを発生させることは可能なのでしょうか?
>
>長々と分かりにくい説明になって申し訳ありませんが、お知恵を拝借させていただければ幸いです。よろしくお願いします。

VBAProject
 - Microsoft Excel Objects
   - ThisWorkbook

ThisWorkbookにて
Private Sub Workbook_SheetActivate(ByVal Sh As Object)

これでイベントを取得できるはずです

0 hits

【40686】Formが開いている間に別のシートが選択さ... リョウタ 06/7/20(木) 13:58 質問
【40691】Re:Formが開いている間に別のシートが選択... ハト 06/7/20(木) 14:42 回答
【40693】Re:Formが開いている間に別のシートが選... リョウタ 06/7/20(木) 15:29 質問
【40701】Re:Formが開いている間に別のシートが選... ハト 06/7/20(木) 16:48 回答
【40729】Re:Formが開いている間に別のシートが選... リョウタ 06/7/21(金) 16:08 お礼
【40695】Re:Formが開いている間に別のシートが選択... Kein 06/7/20(木) 15:36 回答
【40696】Re:Formが開いている間に別のシートが選... リョウタ 06/7/20(木) 16:06 回答
【40698】Re:Formが開いている間に別のシートが選... Kein 06/7/20(木) 16:34 発言
【40730】Re:Formが開いている間に別のシートが選... リョウタ 06/7/21(金) 16:19 お礼

41123 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free