Выбрать конкретную ячейку после ввода значений в предыдущих ячейках - PullRequest
0 голосов
/ 03 мая 2018

, поэтому у меня есть входной лист, и я хочу переместить активированную ячейку в другую после ввода / выбора данных. Пока у меня есть это:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Range("F11").Value <> "" Then
Range("F13").Select

End If
End Sub

Но проблема в том, что это не работает с большим количеством ячеек и диапазонов по некоторым причинам. Например, если выбран F13, я хочу перейти к F16. Если выбран F16, я хочу перейти к F17. Так что здесь нет правил, как всегда на 2 ряда вниз. Как я могу решить это?

Лучший

1 Ответ

0 голосов
/ 03 мая 2018

Это простой тип шаблона, который может быть увеличен в соответствии с определенной бизнес-логикой.

Если вы хотите добавить Range("D5") с 3 строками, то добавьте его в Союз в этой строке: If Intersect(Target, Union(Range("F16"), Range("F13"))) и затем создайте Case Range("D5").

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Row > Rows.Count - 2 Then Exit Sub
    If Target = vbNullString Then Exit Sub        
    If Intersect(Target, Union(Range("F16"), Range("F13"))) Is Nothing Then Exit Sub

    Select Case Target
        Case Range("F16")
            Target.Offset(1).Select
        Case Range("F13")
            Target.Offset(2).Select
    End Select

End Sub
...