• ベストアンサー

VBAについて教えて下さい。

エクセル2003を使用してます。 ("Sheet1")のB列をダブルクリックすると、 ("Sheet2")の("AA100")を表示するようにしたいのですが、 ■の部分がエラーが出て、色々変更して試してるのですが駄目です。 どう言う風に、書けばいいのかわかりません。 どなたか教えて頂けませんか? 下記VBAです。 ──────────────────────────────── Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Target.Column <> 2 Then Exit Sub Sheets("Sheet2").Activate ■Range("AA100").Select End Sub ──────────────────────────────── よろしくお願いします。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

例1 Sheets("Sheet2").Activate ActiveSheet.Range("AA100").Select 例2 Sheets("Sheet2").Activate Sheets("Sheet2").Range("AA100").Select 例3 Application.Goto Sheets("Sheet2").Range("AA100") 例4 Application.Goto Sheets("Sheet2").Range("AA100"), True 因みにダブルクリックイベントは Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) です。

pairakku
質問者

お礼

xls88さん、回答ありがとうございます。 4つも例を挙げて頂いてすごく参考になりました。 4つ共、エラー出ずに出来ました~ >因みにダブルクリックイベントは Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) です。   はい、私の間違いでした。指摘して頂いてありがとうございます。 今後共、よろしくお願いします。

その他の回答 (3)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

>("Sheet2")の("AA100")を表示するようにしたいのですが、 AA100の値を取得してどの様に表示させるのかわかりませんが Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Target.Column <> 2 Then Exit Sub MsgBox Sheets("Sheet2").Range("AA100").Value End Sub で試してみてください。 Sheets("Sheet2").Activate Range("AA100").Select は文法上では何の問題もありませんが シートのモジュールに記載しているので、他のシートへ移動することができません。

pairakku
質問者

お礼

hallo-2007さん、回答ありがとうございました。 私のやり方に問題があると思うのですが、 >MsgBox Sheets("Sheet2").Range("AA100").Value にしてみたのですが、エラーが出て駄目でした。 でも、回答して頂いて感謝します。 ありがとうございました。 今後共、よろしくお願いします。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

このマクロは"Sheet1"に作成されていると思いますが、"Sheet1"から"Sheet2"の制御は出来ません ので、  Sheets("Sheet2").Activate  Range("AA100").Select の部分は、"Sheet2"に作成すれば動くと思います また、今回のエラーに直接関係は有りませんが >ダブルクリックすると、 とあるのに、 Private Sub Worksheet_SelectionChange(ByVal Target As Range) は、変ですよね -- Sheet1 --------------- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)  If Target.Cells.Count > 1 Then Exit Sub  If Target.Column <> 2 Then Exit Sub   Sheet2.Mc1 End Sub --- -- Sheet2 --------------- Sub Mc1()  Sheets("Sheet2").Activate  Range("A10").Select End Sub ---

pairakku
質問者

お礼

ASIMOVさん、回答ありがとうございます。 >ダブルクリックすると、 とあるのに、 Private Sub Worksheet_SelectionChange(ByVal Target As Range) は、変ですよね   はい、私の間違えでした。 Sheet1とSheet2に分けるやり方も、あるんですね。 とても勉強になりました。 ありがとうございました。 今後共、よろしくお願いします。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

Sheets("Sheet2").Range("AA100").Select にしてください。

pairakku
質問者

お礼

kmetuさん、回答ありがとうございます。 私のやり方が、悪いと思いますが、やはりエラーが出ます。 でも、回答して頂いてありがとうございました。 今後共、よろしくお願いします。