人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルVBAについて。VBA初心者です。
ユーザーがsheet1の任意のセルを選択。
その後、ユーザーの意志でsheet2に移動し、そこでダブルクリックのイベントプロシージャを実行します。
そのプロシージャの中で、sheet1でユーザーが選択したセルの位置情報を取得したいのですが、どうしたら良いかわかりません。
基本的かも知れませんが、よろしくお願いします。

●質問者: maashi
●カテゴリ:コンピュータ
✍キーワード:イベント エクセル セル ダブルクリック プロ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Kenju
●60ポイント ベストアンサー

たぶん、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

◎質問者からの返答

ちゃんとできました。

ありがとうございました。


2 ● ota2244
●10ポイント

モジュールレベルで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"が設定されます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ