|
> C列をスタートし次にC列に戻って来たとき 次に進みません。いかがでしょうか?
それは、じろう さんが、当初提示した Worksheet_Changeイベントのコードを
解析しただけでは、想定出来ない仕様だからです。
Case 4 (D列)から始まっていたからです。
たぶん、オプションの設定で「入力後に移動する」の「方向」を「右」にしていた
ものと推測します。
それで、<Enter>で所定の位置に移動すべき箇所は、その設定に左右されないように
しています。 今度は、C列も追加しました。
あと、H列からK列へは直接飛ばなくていいのですね。
それなら、こんな感じです。 あとは、解析して適当にいじってください。
Kein さん ごめんなさい。 横から口を挟んで。
◎ 機能させるシートのモジュールに記述します。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If InStr("$C$,$D$,$F$,$K$", Left(Target.Cells(1).Address, 3)) > 0 Then
Application.OnKey "{ENTER}", ActiveSheet.CodeName & ".JmpCell"
Application.OnKey "~", ActiveSheet.CodeName & ".JmpCell"
Else
Application.OnKey "{ENTER}"
Application.OnKey "~"
End If
End Sub
Private Sub Worksheet_Deactivate()
Application.OnKey "{ENTER}"
Application.OnKey "~"
End Sub
Private Sub JmpCell()
Application.EnableEvents = False
Select Case Selection.Cells(1).Column
Case 3
ActiveCell.Offset(, 1).Activate
Case 4, 6
ActiveCell.Offset(, 2).Activate
' --- 以下は、H列で一旦止める場合不要 ---------
If ActiveCell.Column = 8 Then
Application.OnKey "{ENTER}"
Application.OnKey "~"
End If
' ---------------------------------------------
Case 11
ActiveCell.Offset(1, -8).Activate
End Select
Application.EnableEvents = True
End Sub
◎ ThisWorkbook のモジュールに記述。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "{ENTER}"
Application.OnKey "~"
End Sub
> ちなみに別掲示板はアクセスできないようですが?・・・
そうですね。 停止にする直前に当方の書き込みが空欄になってしまって変だと思って
いました。 悪い人いるんですね。 うぅ〜ん・・・困ったもんですね。
|
|