Ich versuche, meine Userform
zu überprüfen, wenn eine Befehlsschaltfläche angeklickt wird, um sicherzustellen, dass alle in Textfelder eingegebenen Werte integers
sind. Im Moment wird es jedoch mit dem Nachrichtenfeld angezeigt, selbst wenn ich einen Wert integer
(d. H. 1 für alle Textfelder) eingeben.Überprüfen Sie TextBoxen in Userform, um sicherzustellen, dass es sich um Ganzzahlen handelt.
Hier ist mein Code jetzt:
'Store inputs when clicking Continue
Private Sub Continue1_Click()
'Define variables
Dim Ctl As Control
For Each Ctl In CategoriesForm.Controls
If TypeName(Ctl) = "TextBox" Then
If IsNumeric(Ctl.Value) = True Then
If Int(Ctl.Value) <> Ctl.Value Then
MsgBox ("All inputs need to be integers for calculations to work. Please check the values."), vbCritical, "Error: Not All Inputs are Integers"
Exit Sub
End If
Else
MsgBox ("All inputs need to be integers for calculations to work. Please check the values."), vbCritical, "Error: Not All Inputs are Integers"
Exit Sub
End If
End If
Next
NumberClamps = Number_Clamps.Value
NumberBrackets = Number_Brackets.Value
NumberWashers = Number_Washers.Value
NumberScrews = Number_Screws.Value
NumberNuts = Number_Nuts.Value
NumberUNuts = Number_UNuts.Value
NumberRivets = Number_Rivets.Value
NumberStuds = Number_Studs.Value
Unload CategoriesForm
End Sub
Dank
Uh initialisiert definieren. Beide Message Box ist das gleiche ?? – findwindow
Ich stimme @findwindow zu, welche MsgBox anzeigt? Ich würde vorschlagen, dass Sie im Debugger durchgehen, um die Werte zu überprüfen, um zu sehen, wohin die Logik Sie führt. – PeterT