Как я могу использовать проверку данных с помощью VBA и выбросить ошибку, если условие не выполнено?
Привет,
Я новичок в VBA . Я только что начал кодировать, и я хотел ограничить значения в ячейках между 1-10 проверкой данных через VBA, а также выдать ошибку, если условие не истинно.
Но я не могу этого сделать.
Пожалуйста, пройдите через мой код и помогите мне в этом.
Я был бы вам очень признателен.
Что я уже пробовал:
Sub form() Dim userinput As String Dim promptmsg As String Dim tryerror As Integer promptmsg = "Please enter a numeric value to enter" ' ' With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 End With Range("C6").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 End With Range("C8").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 End With Range("C4").Select ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _ False Range("C4").Select If ActiveCell.Value >= 1 And ActiveCell.Value <= 10 Then With Selection.Validation .Delete .Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:="1", Formula2:="10" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "Please try again" .ShowInput = True .ShowError = True End With Range("C4").Select userinput = InputBox(promptmsg) ActiveCell.FormulaR1C1 = userinput Range("C6").Select userinput = InputBox(promptmsg) ActiveCell.FormulaR1C1 = userinput Range("C8").Select userinput = InputBox(promptmsg) ActiveCell.FormulaR1C1 = userinput Range("C5").Select Else tryerror = msgbox("invalid value! try again?", vbYesNo) If tryagain = 6 Then form End If End If End Sub
Richard MacCutchan
Вы не сказали нам, в чем проблема и где она возникает. Вы также можете упростить это, просто попробовав простые значения. Только когда у вас это работает, вы должны думать о цветах и узорах.
ZurdoDev
Что не так с вашим кодом? Я не собираюсь пытаться управлять им.
ZurdoDev
Запишите макрос, делающий близко к тому, что вы хотите, и вы сможете увидеть, что это за код.
shivambhat
Это было сделано только путем записи,но это не проблема.проблема возникает, когда я пытаюсь поставить условный оператор, а также использую его, чтобы бросить ошибку, если условие не истинно.
ZurdoDev
Да, как указывает Решение 1, Вы можете записать макрос, входящий в проверку. В Excel есть опция проверки.
Если он не делает того, что вы хотите, вам нужно быть более ясным.