我这里有一个代码来检查数字是否是素数。一般来说,它工作得很好。我得到的唯一问题是,如果你连续输入的次数超过1次,我会得到类型不匹配错误。我不希望这就是为什么我首先使用GoTo模式。任何想法为什么这不能按预期工作?
Private Sub Primerus_Click()
CodeStart:
On Error GoTo ErrorLabel
Dim Nummer As Long, i As Long, prime As Boolean
prime = False
Nummer = InputBox("Bitte geben Sie eine Zahl ein", "Mathe für Idioten", "Bitte hier die Zahl eingeben")
For i = 2 To Nummer - 1 Step 1
If Nummer Mod i = 0 Then
prime = True
End If
Next i
If prime = False Then
MsgBox ("Dies ist eine Primzahl.")
Else: MsgBox ("Dies ist keine Primzahl.")
End If
Exit Sub
ErrorLabel:
MsgBox ("Dies ist keine Zahl!")
GoTo CodeStart
End Sub