Какой оператор надо применять при вводе исходных данных? - VBA

Формулировка задачи:

Здравствуйте! Прошу помощи. Не знаю, почему выдаётся предупреждение: Run-time error ‘13’. Type mismatch. Что надо сделать?
Sub MyShlit()
Dim s%(), i%
Cells.Clear
s = Split(InputBox("Введите  5  чисел, разделённых пробелами", , "23 76 20 81 67"))
ReDim Arr(0 To UBound(s))
 For i = 1 To UBound(s)
  Cells(i, 1) = Arr(i)
  Arr(i) = s
Next
 
c = 0: d = 0: k = 0: q = 0
  For i = 1 To UBound(s)
    If Arr(i) Mod 2 = 0 Then
    Arr(i) = c
    Range("B2").Offset(, k) = chjot
    k = k + Arr(i)
        Else:
    Arr(i) = d
    Range("B4").Offset(, q) = nechjot
    q = q + Arr(i)
    End If
  Next
MsgBox chjot
End Sub

Код к задаче: «Какой оператор надо применять при вводе исходных данных? - VBA»

textual
Private Sub Test()
    Dim s, i%, i1%, i2%, c$, n$
    s = Split(InputBox("Введите 5 чисел, разделённых пробелами", , "23 76 20 81 67"))
 
    Cells.Clear
    Range("A1").Resize(UBound(s) + 1) = Application.Transpose(s)
    Range("C2") = "Чётные числа:"
    Range("C4") = "Нечётные числа:"
 
    For i = 0 To UBound(s)
        If Val(s(i)) Mod 2 = 0 Then
           i1 = i1 + 1: c = c & vbCr & s(i)
           Range("E2").Offset(, i1) = s(i)
        Else
           i2 = i2 + 1: n = n & vbCr & s(i)
           Range("E4").Offset(, i2) = s(i)
        End If
    Next
 
    MsgBox "Чётные числа: " & c
    MsgBox "Нечётные числа: " & n
End Sub

7   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ