タイムマシーンがあったら、過去と未来どちらに行く?

エクセル 以下VBAコードで入力後のカラーがB2で入力後にEnterを押すとE2へ移動したときに
黄色のセル移動ができません?E2で入力EnterからB3への移動時は黄色のセル移動ができます。
まとめますとB2→E2→B3→E3→・・・入力Enterで黄色のセルで移動にしたいのですが
困っています。
(※これまでもいろいろ回答いただいた方、感謝しています。)

Private Sub Worksheet_Change(ByVal Target As Range)

Dim TargetColumn As Integer

TargetColumn = Target.Column

If TargetColumn = 2 Then
Application.Goto Reference:=Target.Offset(0, 3)
ElseIf TargetColumn = 5 Then
Application.Goto Reference:=Target.Offset(1, -3)
End If

End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static Adr As String
'最初に範囲を設定すること
If Not Intersect(Range("B2:B11", "E2:E11"), Target) Is Nothing Then
On Error Resume Next
If Range(Adr).Interior.ColorIndex = 6 Then
Range(Adr).Interior.ColorIndex = 23
End If
On Error GoTo 0
If Target.Interior.ColorIndex = 23 Then
Target.Interior.ColorIndex = 6
End If
Adr = Target.Address
End If
End Sub

「エクセル セル移動のVBAコードで入力後」の質問画像

A 回答 (2件)

こんにちは!


なかなかご希望通りの動きにならないようですね。

せっかくコードをお考えのようなので余計なお世話かもしれませんが、
前回のコードに少し手を加えてみました。
前回のコードでは範囲外の色が消えてしまうので、
その部分と複数セル選択をした場合は「黄色」にならないようにしてみました。

Dim myArea As Range 'この行から//

Private Sub Worksheet_Change(ByVal Target As Range)
Set myArea = Range("B2:B11,E2:E11")
If Intersect(Target, myArea) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Column = 2 Then
.Offset(, 3).Select
Else
.Offset(1, -3).Select
End If
End With
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set myArea = Range("B2:B11,E2:E11")
With myArea
.Interior.ColorIndex = xlNone
.Interior.ColorIndex = 23
End With
If Intersect(Target, myArea) Is Nothing Or Target.Count > 1 Then Exit Sub
Selection.Interior.ColorIndex = 6
End Sub 'この行まで//


※ あまり深く考えず
単純にやってみました。m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございました。
また宜しくお願いします。

お礼日時:2015/07/06 21:32

No.1です。


たびたびごめんなさい。
投稿後気づきました。
前回のコードは無駄がありました。

後半部分、SelectionChangeイベントの
>With myArea
>.Interior.ColorIndex = xlNone
>.Interior.ColorIndex = 23
>End With
の4行を
>myArea.Interior.ColorIndex = 23
の1行だけにしてください。

どうも失礼しました。m(_ _)m
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報