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