|    | 
     なんじゃ、こりゃ・・・。 さん 、おはようございます。 
 
 
> 
>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)で 
条件を追加すれば出来そうですが・・・。 
 
 
試してみてください。 
 | 
     
    
   |