• 締切済み

excelでカーソルの移動を制限するには?

Win98でExcel2000です。次のことは可能でしょうか? 1.カーソルの移動を隣あった2列のみに制限し、どのキーを押してもそれ以外には移動できないようにしたい。ただしその2列以外も表示はさせておく。 2.その2列の中で入力後Enterのみでこのように移動する。左の列からは同じ行の右の列へ、右の列からは下の行の左の列へと、つまりZの字を書くようにしたい。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

#3のものですが、再度追加します。 質問後半2.の点も含めて Dim flg1 As Boolean Private Sub Worksheet_Change(ByVal Target As Range) r = Target.Row c = Target.Column If c = 3 Then Cells(r + 1, 2).Select flg1 = True End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) r = Target.Row c = Target.Column If flg1 = False Then If c > 3 Then Cells(r, 3).Activate c = 3 End If If c < 2 Then Cells(r, 2).Activate End If End If flg1 = False End Sub で主旨に沿った動きをしますが、実用に耐えるかどうか 心許ないです。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

VBAで出来る範囲でやって見ました。 B,C列にのみ入力が出来る(カーソルがA列とD列より 右に行かない)ようにします。 シートのSelectionChangeイベントを捉えるものです。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) r = Target.Row c = Target.Column If c > 3 Then Cells(r, 3).Activate End If If c < 2 Then Cells(r, 2).Activate End If Application.MoveAfterReturnDirection = xlToRight End Sub 後半が上手く出来ないので考えます。

noname#9808
noname#9808
回答No.2

ご質問を確認しますと、 例.B5~C20までを、「B5・C5・B6・C6・・・」と連続して入力し移動したい。 という事でよろしいでしょうか? もしそうであれば、まず、ツールメニューのオプションから編集タグを選び、「入力後セルを移動する」を下から右に変えます。その後上の範囲をマウスで範囲指定してやれば、エンターを打つだけでご希望の動きにはなりますよ。 ただ、どのキーを押してもというのは私は知りません。ごめんなさい。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

1. ActiveSheet.ScrollArea = "A5:B10" これで A5からB10までです。 2. ツールのオプションを開き、編集のところで 入力後にセルを移動する 方向とあるのを右に します。 以上

関連するQ&A