Какой оператор надо применять при вводе исходных данных? - 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
Решение задачи: «Какой оператор надо применять при вводе исходных данных?»
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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д