Ciao, ragazzi, vi presento il mio problema.
Ho creato un programmino con il visual basic 6 pro che mi consente di calcolare il massimo comune divisore di un tot di numeri, massimo 100.
Quando però vado ad inserire un controllo per far sì che mi dia un errore se inserisco lettere e non numeri, il programma sfasa dandomi l'errore n.13.
Ho fatto 1000 tentativi ma niente.
Spero che voi mi possiate dare una mano.Grazie. Vi posto tutti i comandi inseriti qui sotto.

codice:
Public Sub Form_Load()
Dim M, n, R As Double
Dim Scambio As Double
Dim Cont, K, Num, Contr As Byte
Dim Numeri(1 To 100) As Double
    Cont = InputBox("DI QUANTI NUMERI VUOI CALCOLARE L'MCD ?", "MCD", _
           vbOKOnly)
    Contr = 0
    Do While (Contr = 0)
        If (Not (IsNumeric(Cont)) Or (Cont < 2)) Then
            MsgBox ("Valore Errato....Dgitare un Numero > 1 !")
            Cont = InputBox("DI QUANTI NUMERI VUOI CALCOLARE L'MCD ?", "MCD", _
            vbOKOnly)
            Contr = 0
        Else: Contr = 1
        End If
    Loop
    For K = 1 To Cont
      Numeri(K) = InputBox("SCRIVI IL NUMERO DI INDICE " & K, "MCD", _
           vbOKOnly)
     Num = Numeri(K)
      Contr = 0
      Do While (Contr = 0)
        If Not (IsNumeric(Num)) Then
          MsgBox ("Valore Errato....Dgitare un Numero > 1 !")
            Num = InputBox("Ridigita il valore", "MCD", _
            vbOKOnly)
            Numeri(K) = Num
            Contr = 0
        Else
        Contr = 1
        End If
    Loop
    Next K
    MCD = Comune(Numeri(1), Numeri(2))
        Debug.Print "M.C.D. ", Comune(Numeri(1), Numeri(2)), Num
         For K = 3 To Cont
      Debug.Print "M.C.D. ", Comune(MCD, Numeri(K)), Num
      MCD = Comune(MCD, Numeri(K))
    Next K
'B = Comune(M, n) * 3
'Debug.Print B
      End
End Sub
Public Function Comune(X, Y)
If X < Y Then
    Scambio = X
    X = Y
    Y = Scambio
End If
R = X Mod Y
Do While (R <> 0)
X = Y
Y = R
R = X Mod Y
Loop
Comune = Y
End Function