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

Узнай цену своей работы

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

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

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

textual
Листинг программы
  1. Private Sub Test()
  2.     Dim s, i%, i1%, i2%, c$, n$
  3.     s = Split(InputBox("Введите 5 чисел, разделённых пробелами", , "23 76 20 81 67"))
  4.  
  5.     Cells.Clear
  6.     Range("A1").Resize(UBound(s) + 1) = Application.Transpose(s)
  7.     Range("C2") = "Чётные числа:"
  8.     Range("C4") = "Нечётные числа:"
  9.  
  10.     For i = 0 To UBound(s)
  11.         If Val(s(i)) Mod 2 = 0 Then
  12.            i1 = i1 + 1: c = c & vbCr & s(i)
  13.            Range("E2").Offset(, i1) = s(i)
  14.         Else
  15.            i2 = i2 + 1: n = n & vbCr & s(i)
  16.            Range("E4").Offset(, i2) = s(i)
  17.         End If
  18.     Next
  19.  
  20.     MsgBox "Чётные числа: " & c
  21.     MsgBox "Нечётные числа: " & n
  22. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы