- ベストアンサー
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 ──────────────────────────────── よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
例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) です。
その他の回答 (3)
- hallo-2007
- ベストアンサー率41% (888/2115)
>("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 は文法上では何の問題もありませんが シートのモジュールに記載しているので、他のシートへ移動することができません。
お礼
hallo-2007さん、回答ありがとうございました。 私のやり方に問題があると思うのですが、 >MsgBox Sheets("Sheet2").Range("AA100").Value にしてみたのですが、エラーが出て駄目でした。 でも、回答して頂いて感謝します。 ありがとうございました。 今後共、よろしくお願いします。
- ASIMOV
- ベストアンサー率41% (982/2351)
このマクロは"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 ---
お礼
ASIMOVさん、回答ありがとうございます。 >ダブルクリックすると、 とあるのに、 Private Sub Worksheet_SelectionChange(ByVal Target As Range) は、変ですよね はい、私の間違えでした。 Sheet1とSheet2に分けるやり方も、あるんですね。 とても勉強になりました。 ありがとうございました。 今後共、よろしくお願いします。
- kmetu
- ベストアンサー率41% (562/1346)
Sheets("Sheet2").Range("AA100").Select にしてください。
お礼
kmetuさん、回答ありがとうございます。 私のやり方が、悪いと思いますが、やはりエラーが出ます。 でも、回答して頂いてありがとうございました。 今後共、よろしくお願いします。
お礼
xls88さん、回答ありがとうございます。 4つも例を挙げて頂いてすごく参考になりました。 4つ共、エラー出ずに出来ました~ >因みにダブルクリックイベントは Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) です。 はい、私の間違いでした。指摘して頂いてありがとうございます。 今後共、よろしくお願いします。