ユーザーがsheet1の任意のセルを選択。
その後、ユーザーの意志でsheet2に移動し、そこでダブルクリックのイベントプロシージャを実行します。
そのプロシージャの中で、sheet1でユーザーが選択したセルの位置情報を取得したいのですが、どうしたら良いかわかりません。
基本的かも知れませんが、よろしくお願いします。
たぶん、Selectionはシートがアクティブじゃないと取れないと思います。
こんなんでいかがでしょう。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
Worksheets(1).Activate
MsgBox Selection.Address
Worksheets(2).Activate
Application.ScreenUpdating = True
End Sub
たぶん、Selectionはシートがアクティブじゃないと取れないと思います。
こんなんでいかがでしょう。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
Worksheets(1).Activate
MsgBox Selection.Address
Worksheets(2).Activate
Application.ScreenUpdating = True
End Sub
ちゃんとできました。
ありがとうございました。
モジュールレベルでRange型のオブジェクトを定義し
「SelectionChange」イベントで保存、「BeforeDoubleClick」イベントで使用すれば良いかと思います。
具体的には
[標準モジュール-Module1]
Public SelRange As Range
[Sheet1]
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set SelRange = Target
End Sub
[Sheet2]
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
SelRange.Value = "1"
End Sub
とすれば、Sheet2のセルをクリックすると、Sheet1で選択した範囲に"1"が設定されます。
ちゃんとできました。
ありがとうございました。