こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel2000 VBA ダブルクリックで別シートの同番地セルへ移動

sheet1とsheet2 の2つのシートがあります。
sheet1のA1セルをダブルクリックすると、sheet2のA1セルへ移動させたいのですが、
下記のコードで実行すると、
'Range'メソッドは失敗しました:'_WorkSeet'オブジェクト
のエラーメッセージが表示されました。

どうぞアドバイスお願い致します。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

  Sheets("sheet2").Select
  Range("Target.Address").Select

End Sub

投稿日時 - 2007-09-21 19:13:53

QNo.3364803

困ってます

質問者が選んだベストアンサー

(1)("Target.Address").と””で囲んで,リテラルの文字列である「TargetAddress」という文字列にしてしまってはダメ。変数のままで使う。
(2)標準モジュールで
Sub test02()
Worksheets("Sheet2").Range("A1").Select
End Sub
はエラー。
RangeのSelectはActivateかSelectかしておくと
Sub test02()
Worksheets("Sheet2").Activate
Worksheets("Sheet2").Range("A1").Select
End Sub
ならOK。
結局
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Sheets("sheet2").Activate
Sheets("sheet2").Range(Target.Address).Select
End Sub
Sheets("sheet2").はActiveSheet.でもよい。

投稿日時 - 2007-09-21 20:46:28

お礼

私のコードのだめな理由も指摘していただいて、スッキリ解決しました。丁寧なアドバイスありがとうございました。

投稿日時 - 2007-09-21 21:03:10

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Sheets("Sheet2").Select
ActiveSheet.Range(Target.Address).Select
End Sub

投稿日時 - 2007-09-21 19:23:45

お礼

早速の回答ありがとうございました。
助かりました。

投稿日時 - 2007-09-21 20:57:55

あなたにオススメの質問