GoTo не определено - в VBA - PullRequest
       1

GoTo не определено - в VBA

1 голос
/ 02 ноября 2019

Когда я на шаге F8 нажимаю. тогда скажи это гото не определено. Я пытаюсь сделать поле ввода с сообщением, что мне ответ дать. И я пытаюсь также сделать код, когда значения не правильные. Видите, я ошибаюсь в своем коде VBA:

Sub TwoNumbersinputbox()

Dim bytAnswer1 As String
Dim bytAntwer2 As String
Dim Range As Byte
Dim strNumber1 As String
Dim strNumber2 As String
[C3] = "Number1"
[C4] = "Number2"

Start1:
strNumber1 = InputBox("Give number one?", "Invoer", 5, 567, 567)
   If IsNumeric(strNumber1) Then
   MsgBox "This must be Number1", vbCritical, _
   "Number1 input"
   GoTo strNumber1
   Else: [B2] = strNumber1
   End If

  If Not IsNumeric(strNumber1) Then
  MsgBox "there is error.", vbCritical, "Number2 input"
  bytAnwer1 = MsgBox("Start Again?", vbYesNo)
  If bytAnwer1 = vbYes Then GoTo Start
  End If

Start2:
strGetal2 = InputBox("Give Number2?", "Input", 5, 567, 567)
   If IsNumeric(strNumber2) Then
   MsgBox "This must be Number2 ", vbCritical, _
   "Number2 input"
   GoTo strNumber2
   Else: [B3] = strNumber2
 End If

  If Not IsNumeric(strGetal2) Then
  MsgBox "Is there an error.", vbCritical, "Number2 input"
  bytAnswer2 = MsgBox("Start Again?", vbYesNo)
  If bytAnswer2 = vbYes Then GoTo Start
  End If

End Sub

1 Ответ

3 голосов
/ 02 ноября 2019
  • Перво-наперво - никогда не используйте GOTO. Только при обработке ошибок ( On Error Statement (VBA) ).
  • Second - если вам нужно его использовать, нужна отметка. Например, если это GoTo somewhere, то в коде это должно быть определено так: somewhere:.

Sub DontUseGoTo()

    Dim i As Long
    i = 0

somewhere:
    i = i + 1
    Debug.Print i
    If i < 10 Then
        GoTo somewhere
    End If

End Sub

enter image description here

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