Выполнить если не после другого сценария если нет - PullRequest
0 голосов
/ 15 октября 2019

В моем сценарии после выбора элемента проверки код затем выбирает следующую ячейку и открывает список проверки, после чего я пытаюсь выполнить выбор, чтобы затем выбрать ячейку в следующем столбце и затем открыть этот список проверкисделать выбор. Я не могу позволить одному сценарию запускаться после другого. В верхнем фрагменте я пытаюсь реализовать второй вариант «Если нет» после первого «Если нет». Нижний фрагмент - весь сценарий.

If TheSize = "" Then
     MsgBox "Now pick the size for your " & vbNewLine & TheItem, , "Apparel Selection" & " (Item# " & TheId & ")"
     Target.Offset(, 2).Select
     Target.Offset(, 2).Application.SendKeys "%{UP}"
End If
If TheColor = "" Then
    MsgBox "Now pick the Color for your " & vbNewLine & TheItem, , "Apparel Selection" & " (Item# " & TheId & ")"
    Target.Offset(, 3).Select
    Target.Offset(, 3).Application.SendKeys "%{UP}"
End If
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, Range("A3")) Is Nothing Then
        Range("B3:B3").ClearContents
        Range("C3:C6").ClearContents
        Range("D3:D6").ClearContents
        Range("E3:E6").ClearContents
        Range("F3:F6").ClearContents
    End If
    If Target.Count = 1 Then
        If Cells(Target.Row, Target.Column + 1).Value = "" Then
            TheItem = Target.Value
            TheSize = Target.Offset(, 2).Value
            TheColor = Target.Offset(, 3).Value
            TheId = Target.Offset(, 4).Value
            If Not Intersect(Target, Range("C3:C6")) Is Nothing Then
                ItemVal = InputBox("How many of the " & (TheItem) & "'s Do you want?", "Apparel Selection" & " (Item# " & TheId & ")")
                Cells(Target.Row, Target.Column + 1).Value = ItemVal
                If TheSize = "" Then
                    MsgBox "Now pick the size for your " & vbNewLine & TheItem, , "Apparel Selection" & " (Item# " & TheId & ")"
                    Target.Offset(, 2).Select
                    Target.Offset(, 2).Application.SendKeys "%{UP}"
                End If
                If TheColor = "" Then
                    MsgBox "Now pick the Color for your " & vbNewLine & TheItem, , "Apparel Selection" & " (Item# " & TheId & ")"
                    Target.Offset(, 3).Select
                    Target.Offset(, 3).Application.SendKeys "%{UP}"
                End If
                If ItemVal = "" Then
                    MsgBox "Pick The Item You Really Really Want", , "Canceled!"
                    Application.EnableEvents = False
                    Target.ClearContents
                End If
            End If
        End If
    End If
    If Target.Cells.Count > 1 Then Exit Sub
   
    If Not Intersect(Target, Range("C3:C6" & Cells(Rows.Count, "D").End(xlUp).Row)) Is Nothing Then
        If Target.Value = vbNullString Then
            Range("D" & Target.Row) = vbNullString
            Range("E" & Target.Row) = vbNullString
            Range("F" & Target.Row) = vbNullString
        End If
    End If
exitHandler:
    Application.EnableEvents = True
    Exit Sub

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...