Excel VBA質問箱 IV

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

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


24649 / 76732 ←次へ | 前へ→

【57431】Re:違うブックのセルへの自動入力
発言  ichinose  - 08/8/22(金) 7:08 -

引用なし
パスワード
   なんじゃ、こりゃ・・・。 さん 、おはようございます。


>
>Book1とBook2があります。
>
>Book2において、あるセルを選択しておきます。(アクティブセルにする)
>そして、Book1を開き、あるセルに値を入力します。
>
>そのとき、Book2の選択されていたセルに、Book1に入力された値を自動的に入れることは可能でしょうか。
>可能であれば、どのように実現できるでしょうか。

Book2のThisworkbookのモジュールに(標準モジュールではないですよ)

'==================================================================
Option Explicit
Private setrng As Range
Private WithEvents app As Application
'=================================================================
Sub 監視開始()
  Set app = Application
  Set setrng = ActiveCell
End Sub
'====================================================================
Private Sub app_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  On Error Resume Next
  Application.EnableEvents = False
  setrng.Value = Target(1).Value
  Application.EnableEvents = True
End Sub
'===================================================================
Sub 監視解除()
  Set app = Nothing
  Set setrng = Nothing
End Sub

まず、Book2のあるセルをアクティブにした状態で 監視開始 を実行します。
これでBook2のデータを移行するセルの選択とイベントの発生を可能にしています。


別ブック(同じブックでも今は、イベントが発生します)を開いて、適当なセルに
値を入力してください。監視開始を実行したときにアクティブだったセルに
値が反映されるはずです。

イベント発生を止めたいなら、監視解除を実行します。

上記の例では、Book2の別セルに入力しても同じ現象になりますし、イベントを
Book1のみ発生するというようにはしていませんが、
もしBook1だけの入力を反映したいならイベント内(app_SheetChange)で
条件を追加すれば出来そうですが・・・。


試してみてください。

2 hits

【57428】違うブックのセルへの自動入力 なんじゃ、こりゃ・・・。 08/8/21(木) 18:15 発言
【57431】Re:違うブックのセルへの自動入力 ichinose 08/8/22(金) 7:08 発言
【57490】Re:違うブックのセルへの自動入力 なんじゃ、こりゃ・・・。 08/8/27(水) 16:51 お礼

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