- ベストアンサー
エクセルでセルの移動について
例えば、まずA1セルに入力します。次にenterキーを押すとA3に、次に押すとB1に移動って出来ますか? お願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
またまた補足です。 コードを書き込むシートによって、 ←の部分を変える必要があります。 たとえばシート1なら "sheet1.idou" シート2なら "sheet2.idou" というかんじです。 -------------------------------- Private Sub Worksheet_Activate() Application.OnKey "~", "idou" Application.OnKey "~", "sheet1.idou" ← End Sub
その他の回答 (4)
- marbin
- ベストアンサー率27% (636/2290)
マクロを変えました。 ↓のコード全部を該当のシート のシートモジュールにコピペして 実行してみてください。 -------------------------------- Private Sub Worksheet_Activate() Application.OnKey "~", "idou" Application.OnKey "~", "sheet1.idou" End Sub Private Sub Worksheet_Deactivate() Application.OnKey "~" End Sub Sub idou() Select Case ActiveCell.Column Case 1 ActiveCell.Offset(, 2).Activate Case 3 ActiveCell.Offset(1, -2).Activate Case Else Exit Sub End Select End Sub --------------------------
- marbin
- ベストアンサー率27% (636/2290)
またまた補足です。 このマクロは、A列またはC列のセルの データを削除した場合、エラーになります。 エラー処理は、あとでアップします。
- marbin
- ベストアンサー率27% (636/2290)
#1のマクロは、 セル内容変更をしてエンターキー を押した場合に移動します。 セル内容を変更せずにエンターキー を押した場合は通常のセル移動になります。
- marbin
- ベストアンサー率27% (636/2290)
マクロでの方法です。 シートモジュールにコードをコピペして 実行してください。 なお、「ツール」「オプション」「編集」タブ の「入力後にセルを移動する方向」を「下」 にしておいてください。 ------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) Select Case ActiveCell.Column Case 1 ActiveCell.Offset(-1, 2).Activate Case 3 ActiveCell.Offset(, -2).Activate Case Else Exit Sub End Select End Sub -----------------
お礼
marbinさん丁寧な説明ありがとう。やっぱりマクロですね。これから、やってみます。