| 
    
     |  | ▼Kein さん: >シートのアクティブイベントというのは「いったん他のシートに移動してから
 >当該シートに戻ったとき」をトリガーにしてます。だからシートモジュール
 >に入れただけでは、キーへの割り当てが出来ていないのです。
 >で、こちらで試してみた結果、JmpCellのコードは以下のように修正する必要が
 >あることが分かりました。
 >
 >Private Sub JmpCell()
 >  If TypeName(Selection) <> "Range" Then Exit Sub
 >  With ActiveCell
 >   Select Case .Column
 >     Case 4, 6: .Offset(, 2).Select
 >     Case 11: .Offset(1, -8).Select
 >     Case 129
 >      If .Row = 14 Then
 >       .Offset(40, -3).Select
 >      Else
 >       .Offset(1).Select
 >      End If
 >     Case 126
 >      Select Case .Row
 >        Case 54, 56, 58, 60: .Offset(, 11).Select
 >       Case Else: .Offset(1).Select
 >      End Select
 >     Case Else: .Offset(1).Select
 >   End Select
 >  End With
 >End Sub
 >
 >お手数ですが直しておいて下さい。
 
 Keinさん報告です。
 下記の様に修正したところ動作してくれました。
 問題ありませんか?
 Private Sub JmpCell()
 If TypeName(Selection) <> "Range" Then Exit Sub
 With ActiveCell
 Select Case .Column
 Case 3: .Offset(, 1).Select ’★追加
 Case 4, 6: .Offset(, 2).Select
 Case 8: .Offset(, 1).Select ’★追加
 Case 11: .Offset(1, -8).Select
 Case 129
 If .Row = 14 Then
 .Offset(40, -3).Select
 Else
 .Offset(1).Select
 End If
 Case 126
 Select Case .Row
 Case 54, 56, 58, 60: .Offset(, 11).Select
 Case Else: .Offset(1).Select
 End Select
 Case Else: .Offset(1).Select
 End Select
 End With
 End Sub
 
 同じbookにもう1sheetあるのですが下記コードです。
 ちゃんと動いてくれません。
 Private Sub JmpCell()
 If TypeName(Selection) <> "Range" Then Exit Sub
 With ActiveCell
 Select Case .Column
 Case 5: .Offset(, 2).Select ★ココ修正
 Case 22: .Offset(1, -21).Select ★ココ修正
 Case 129 ※ここから下のCase・Selectは何を意味してるのでしょうか?
 If .Row = 14 Then
 .Offset(40, -3).Select
 Else
 .Offset(1).Select
 End If
 Case 126
 Select Case .Row
 Case 54, 56, 58, 60: .Offset(, 11).Select
 Case Else: .Offset(1).Select
 End Select
 Case Else: .Offset(1).Select
 End Select
 End With
 End Sub
 他にも転用したいのでKeinさん申し訳ないのですが
 教えていただけませんか。
 何度も申し訳ないのですが
 よろしくお願いします。
 
 |  |