- ベストアンサー
エクセルでセルを順番に選択したい。
例えばキーボードのENTERを押すたびに、A1→C5→Z9→B22→A1とセルの選択移動をしたいのですが、VBAで何かありませんか?お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 条件によっては、VBAでなくてもハイパーリンクを使えばできると思います。 VBAの場合は、『何かありませんか?』というか、作らないと無いでしょうね。 Application.OnKeyを使えば制御可能だと思います。 簡単なサンプルです。 '=========================================================== Sub 割り当て開始() Application.OnKey "~", "next_cell" End Sub '=========================================================== Sub 割り当て解除() Application.OnKey "~" End Sub '=========================================================== Sub next_cell() Dim r As Range Set r = Range("A1,C5,Z9,B22") If TypeName(Selection) = "Range" Then If Selection.Count = 1 Then With ActiveCell If Not Intersect(.Cells, r) Is Nothing Then Select Case .Row Case 1: r.Areas(2).Cells(1).Activate Case 5: r.Areas(3).Cells(1).Activate Case 9: r.Areas(4).Cells(1).Activate Case 22: r.Areas(1).Cells(1).Activate End Select Else .Offset(1).Activate End If End With Else SendKeys "{TAB}" End If End If Set r = Nothing End Sub '=========================================================== 実際にはイベントマクロと組み合わせたりしますね。
その他の回答 (1)
VBAではありませんが、ご質問の例でしたら、 A1、C5、Z9、B22をCtrlキーを使い、飛び飛びに選択しておけば、 ENTERを押すたびにぐるぐると選択されたセルだけの間を移動します。 選択操作がちょっと面倒ですが...