• ベストアンサー

選択範囲内でアクティブセルを移動する

エクセル 選択範囲内でアクティブセルを移動する方法をご教授ください 保護機能を使って実現するのではなく マクロを使って実現する方法をご教授ください (範囲はA1:R10000までの範囲です)

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.4

B3:R18 の場合 B3はColumn=2、Row=3 R18は Column=18、Row=18ですよね したがって   If Target.Cells.Count = 1 Then     ' R列なので変更なし     If Target.Column > 18 Then       ' 18行目までなので変更       If Target.Row > 18 Then         ' B3からなので Cellsの1を3に変更         Cells(3, Target.Column).Select       Else         ' B列からが対象なので CellsのColumnを1から2へ         Cells(Target.Row + 1, 2).Select       End If       Exit Sub     End If     ' こちらも18行に制限     If Target.Row > 18 Then       ' 3行からなので 1を3へ変更       Cells(3, Target.Column).Select     End If   End If といった具合です

tompapa56
質問者

お礼

誠にありがとう御座いました 勉強になりました

その他の回答 (3)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

Enterが押されたかどうかのチェックは難しいいですが 選択されたセルが A1:R10000の中かどうかは SelectionChangeイベントで取得できます ワークブックかシートモジュールで Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)   ' Target.Cells.Count = 1 選択されたセルが1つの場合をチェック   If Target.Cells.Count = 1 Then     If Target.Column > 18 Then       If Target.Row > 10000 Then         Cells(1, Target.Column).Select       Else         Cells(Target.Row + 1, 1).Select       End If       Exit Sub     End If     If Target.Row > 10000 Then       Cells(1, Target.Column).Select     End If   End If End Sub Enterで右移動をさせたいなら Application.MoveAfterReturnDirection = xlToRight をどこかのタイミングで実行すれば良いでしょう ブックのOpenイベントなどで ・・・

tompapa56
質問者

補足

ありがとう御座います すばらしいです 感謝感謝です 勉強 奮闘中で 大変勉強になります すいません こちらのコードで 折り返し点とか 何処までとかは解るのですが 範囲の始まりA1が解りません例えば範囲がB3:R18ですとどのように成るのでしょうか ご指南ください

  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

今ひとつ、意味解りませんが、 もしかして、以下のようなことですか。 Range("a1:r1000").Select Range("b2").Activate 日本語にすると、 a1:r1000の範囲を選びb2をアクティブセルにする。 アクティブセルを別な場所にしたいなら、 そのセルをアクティベイとする

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

で、何をされたときにどのように変更したいのでしょう? A1が選択されていて何か数値などの入力があったときなのか このとき どこへ移動したいのか また、水平に移動するとしてR列にあった場合にどこへ移動させるのか 垂直に移動させる場合に 10000行にあった場合にはどこへ移動すのか それとも移動しないのか ・・・ 範囲外のセルが選択された場合に 範囲内のセルへ移動したいのか 選択されるセルが複数あるがそのうち1つが範囲外になった場合の矯正 いろいろな場面が想定できます …

tompapa56
質問者

補足

すいません説明不足で申し訳ありません A1から右にR1 R1から改行A2にそしてR2と言うように 選択させた範囲内でエンターキーでシフトさせたいのですが よろしくお願いいたします