|
▼Kein さん:
わかりやすくするために下記のように修正してみました
Sub JumpCell3()
Dim Snm As String
If TypeName(Selection) <> "Range" Then Exit Sub
Snm = ActiveSheet.Name
With ActiveCell
Select Case .Column
Case 3, 8, 9, 10
If Snm = "Sheet1" Then
.Offset(, 1).Select
Else
.Offset(1).Select
End If
Case 4, 6
If Snm = "Sheet1" Then
.Offset(, 2).Select
Else
.Offset(1).Select
End If
Case 11
If Snm = "Sheet1" Then
.Offset(1, -8).Select
Else
.Offset(1).Select
End If
Case 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
If Snm = "Sheet2" Then
.Offset(, 1).Select
Else
.Offset(1).Select
End If
Case 4, 20
If Snm = "Sheet2" Then
.Offset(, 2).Select
Else
.Offset(1).Select
End If
Case 22
If Snm = "Sheet2" Then
.Offset(1, -21).Select
Else
.Offset(1).Select
End If
Case 129
If .Row = 14 Then
If Snm = "Sheet1" Or Snm = "Sheet2" Then
.Offset(40, -3).Select
Else
.Offset(1).Select
End If
Else
.Offset(1).Select
End If
Case 126
Select Case .Row
Case 54, 56, 58, 60
If Snm = "Sheet1" Or Snm = "Sheet2" Then
.Offset(, 11).Select
Else
.Offset(1).Select
End If
Case Else: .Offset(1).Select
End Select
Case Else
.Offset(1).Select
End Select
End With
End Sub
結果ですがsheet1はOK
しかしsheet2はC.D.F.H.J.K列が下に改行してしまいます。
Case 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
If Snm = "Sheet2" Then
.Offset(, 1).Select
Else
.Offset(1).Select
End If
上記コードにて1つ右へ行くはずでは、?
この辺がどうもわかりません
解説お願いします。
>I列というと Select Case の中で Case 9 を作ってなければ設定できない、
>ということは分かりますか ? 不満を言うだけでなく、コードの中身をよく調べて
>改造すれば、自分のやりたいことが直ぐに実現できるはずです。長いコードでは
>あるけど、難しいところは一つもないからです。
>希望どうりの動作をするコードを提示してもらうまで、おんぶにだっこで甘えよう
>としてはいけません。
提示して貰うまで待っていたのではなく色々きっはったを試みたのですが
どうしても下へ改行してしまう理由がわからないため再質問となりました。
KeinさんEnterで下へというコード(指令)は上記コードでは、見あたらないの
ですが?
|
|