Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Заблокирован

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

29.04.2017, 21:33. Показов 1089. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Прошу помощи. Не знаю, почему выдаётся предупреждение: Run-time error ‘13’. Type mismatch.
Что надо сделать?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
Миниатюры
Какой оператор надо применять при вводе исходных данных?  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.04.2017, 21:33
Ответы с готовыми решениями:

Неверно указан тип при вводе исходных данных.
Здравствуйте. Не пойму почему ругается задачник PT4 в проверяемом задании.Вот: "Неверно указан тип при вводе...

Ошибка про вводе исходных данных в программу
постоянно происходит вывод сообщения error Dim k As Double ' Курс Dim c As Double ' Купонная ставка Dim n As Double ' Число лет ...

Форма обработки исходных данных. Как надо было сделать?
Изучаю Access интуитивно на практике, пока очень туго, нужно книгу читать, наверное. Хотел спросить здесь, как сделать эту форму, но не...

4
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
29.04.2017, 22:45
Лучший ответ Сообщение было отмечено MyExcel_17 как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
Dim s, i%
s = Split(InputBox("Введите 5 чисел, разделённых пробелами", , "23 76 20 81 67"))
 
ReDim Arr(UBound(s))
For i = 0 To UBound(s)
    Arr(i) = Val(s(i))
    Cells(i + 1, 1) = Arr(i)
Next
Visual Basic
1
2
3
4
5
6
7
8
Dim s, i%
s = Split(InputBox("Введите 5 чисел, разделённых пробелами", , "23 76 20 81 67"))
 
ReDim Arr(UBound(s))
For i = 0 To UBound(s)
    Arr(i) = Val(s(i))
Next
[A1].Resize(i) = Application.Transpose(Arr)
1
Заблокирован
30.04.2017, 09:49  [ТС]
Цитата Сообщение от pashulka Посмотреть сообщение
Arr(i) = Val(s(i))
pashulka, спасибо.
А как сделать, чтобы "MsgBox" показывал все чётные числа?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub pashulka()
Dim s, i%
Cells.Clear
s = Split(InputBox("Введите 5 чисел, разделённых пробелами", , "23 76 20 81 67"))
 
ReDim Arr(UBound(s))
For i = 0 To UBound(s)
    Arr(i) = Val(s(i))
    Cells(i + 1, 1) = Arr(i)
Next
Cells(2, 3) = "   Чётные числа: "
Cells(4, 3) = "  Нечётные числа: "
 
c = 0: d = 0: k = 0: q = 0
For i = 0 To UBound(s)
    If Arr(i) Mod 2 = 0 Then
    c = Arr(i)
    Range("E2").Offset(, k) = c
    k = k + 1
    Else:
    d = Arr(i)
    Range("E4").Offset(, q) = d
    q = q + 1
    End If
  Next
 
MsgBox " Чётные числа: " + Str(c)
 
End Sub
Миниатюры
Какой оператор надо применять при вводе исходных данных?  
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
30.04.2017, 10:23
Лучший ответ Сообщение было отмечено MyExcel_17 как решение

Решение

Если это не студенческое задание, то можно и так :

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Test2()
    Dim s, i%, 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") = "Нечётные числа: "
    Range("C:C").Columns.AutoFit
 
    For i = 0 To UBound(s)
        If Val(s(i)) Mod 2 = 0 Then
           c = c & vbCr & s(i)
           Cells(2, Columns.Count).End(xlToLeft)(1, 2) = s(i)
        Else
           n = n & vbCr & s(i)
           Cells(4, Columns.Count).End(xlToLeft)(1, 2) = s(i)
        End If
    Next
 
    MsgBox "Чётные числа: " & c
    MsgBox "Нечётные числа: " & n
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Test3()
    Dim s, i%, 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") = "Нечётные числа: "
    Range("C:C").Columns.AutoFit
 
    For i = 0 To UBound(s)
        If Val(s(i)) Mod 2 = 0 Then
           c = c & vbCr & s(i)
           Range("C2")(1, Application.CountA(Rows(2))) = s(i)
        Else
           n = n & vbCr & s(i)
           Range("C4")(1, Application.CountA(Rows(4))) = s(i)
        End If
    Next
 
    MsgBox "Чётные числа: " & c
    MsgBox "Нечётные числа: " & n
End Sub
1
Заблокирован
30.04.2017, 10:40  [ТС]
Цитата Сообщение от pashulka Посмотреть сообщение
Если это не студенческое задание, то можно и так
pashulka, спасибо.
Нет, не студенческое. Скорее любопытство.

Большинство новичков стесняется. Пишу бегло, возможны оговорки. Наверно и у меня не хватает слов, чтобы точнее выразить мысль. Кажется, лучше ввод с клавиатуры.

Есть к примеру тема Найти количество нечетных чисел среди введенных
Мне не понравились ответы участников, показались какими-то мутными и размытыми. Отсутствует ясность
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.04.2017, 10:40
Помогаю со студенческими работами здесь

Надо чтобы выводил ошибку при вводе английских букв,
Не могу понять! надо чтобы выводил Ошибка! Вводите только русскиe буквы! Program 1; type index = record L: char; P:...

Почему в C# при вводе дробей надо использовать запятую и нельзя точку?
В отличие от Си, где надо точку и нельзя запятую... Можно ли сделать допустимыми оба варианта? Извините, если повторяюсь

Зачем надо запрещать хтмл теги при вводе юзером текста в поле?
<> и нужно ли ето запрещать? Добавлено через 10 минут затупил тема снята. ответ кого интересует...

Когда следует применять оператор ===
Когда следует применять оператор ===? Нужен ли он вообще? Очень редко наблюдаю этот оператор в действии.

При вводе пользователем числа от 0 до 9, вывести на экран название программы (использовать оператор goto)
Программу по заданию я написал Написать программу для выполнения следующих действий. При вводе цифры от 0 до 9 будет выводиться ее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru