Excel VBA質問箱 IV

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

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


6953 / 13646 ツリー ←次へ | 前へ→

【42107】複数のシートから同じ機能のイベントプロシジャを作りたい こいさん 06/9/1(金) 11:52 質問[未読]
【42108】Re:複数のシートから同じ機能のイベントプ... ハト 06/9/1(金) 12:23 発言[未読]
【42110】Re:複数のシートから同じ機能のイベントプ... Jaka 06/9/1(金) 12:25 発言[未読]
【42119】Re:複数のシートから同じ機能のイベントプ... こいさん 06/9/1(金) 17:50 お礼[未読]

【42107】複数のシートから同じ機能のイベントプロ...
質問  こいさん  - 06/9/1(金) 11:52 -

引用なし
パスワード
   セルをダブルクリックしたとき動作するイベントプロシジャを作りました。複数のシートに同じ機能を追加したいのです。イベントプロシジャーはシート毎に作成します。コピーすればよいのですが、イベントプロシジャーの機能を関数にし標準モジュールにでも置いて、呼び出すことが出来ませんか。機能を変更したとき各シートごとに修正するのは大変な作業です。

【42108】Re:複数のシートから同じ機能のイベント...
発言  ハト  - 06/9/1(金) 12:23 -

引用なし
パスワード
   ▼こいさん さん:
>セルをダブルクリックしたとき動作するイベントプロシジャを作りました。複数のシートに同じ機能を追加したいのです。イベントプロシジャーはシート毎に作成します。コピーすればよいのですが、イベントプロシジャーの機能を関数にし標準モジュールにでも置いて、呼び出すことが出来ませんか。機能を変更したとき各シートごとに修正するのは大変な作業です。

シートモジュール、標準モジュールではなく
ThisWorkBookモジュールのイベントプロシージャーを使えば
全てのシートのイベントを拾えますよ

【42110】Re:複数のシートから同じ機能のイベント...
発言  Jaka  - 06/9/1(金) 12:25 -

引用なし
パスワード
   メインコードを標準モジュールにおいて呼び出してもいいけど、
ThisWorkbookに書けば全シート共通で使えますけど。

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
 Cancel = True
 MsgBox "Wクリックしたシート " & Sh.Name & vbLf & _
     "Wクリックしたセル " & Target.Address
End Sub

------------
シートモジュール
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Call マクロ1(Target)
'マクロ1 Target
End Sub

標準モジュール
Sub マクロ1(Rg As Range)
MsgBox Rg.Address
End Sub

【42119】Re:複数のシートから同じ機能のイベント...
お礼  こいさん  - 06/9/1(金) 17:50 -

引用なし
パスワード
   jakeさん有難うございいました。無事動作しました。
シートプロシジャーの呼び出しと、標準シートの関数記述に誤りがあり、エラーになっていました。VBは難しい!
例題が役に立ちました。

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