Excel VBA質問箱 IV

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

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


18189 / 76738 ←次へ | 前へ→

【63992】Re:別ブックのシートのイベントの捕捉
発言  ichinose  - 10/1/8(金) 18:18 -

引用なし
パスワード
   UO3 さん、こんばんは。

>持つよりましとはいえ、データブックとプログラムブックは切り離して
>おきたいという私のポリシー(?)

こういう手法は、私も同感ですが、そうだとしたら、

>なんとかプログラムブックから
>別ブックのシートのイベントを捕捉できないかなぁと。
こんな仕様が必要なのかなあとも思いますが、きっと何かあるんでしょうねえ

ざっとですが、プログラムブック側のThidworkbook辺りに

'==============================================================
Option Explicit
Private WithEvents app As Application
Private Sub app_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  MsgBox Sh.Parent.Name & "---" & Sh.Name & "----" & Target.Address
End Sub
Sub set_app()
  Set app = Application
End Sub

このようにしておき、set_appを実行後は、すべてのブックのSheet_changeイベントが
拾えます。

もっと限定したいなら、
同じプログラムブック側のThidworkbookに

Option Explicit

Private WithEvents sht As Worksheet
Sub set_sht()
  Set sht = Workbooks("データブック.xls").Worksheets("sheet1")
End Sub

Private Sub sht_Change(ByVal Target As Range)
  MsgBox Target.Parent.Name & "---" & Target.Address
End Sub

set_shtを実行した後は、データブック.xlsのSheet1のイベントが取得できます。

こういう事ですか?

0 hits

【63990】別ブックのシートのイベントの捕捉 UO3 10/1/8(金) 16:56 質問
【63992】Re:別ブックのシートのイベントの捕捉 ichinose 10/1/8(金) 18:18 発言
【63994】Re:別ブックのシートのイベントの捕捉 UO3 10/1/9(土) 8:31 発言
【64038】【お礼と報告】別ブックのシートのイベント... UO3 10/1/12(火) 9:49 お礼

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