Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2010, 15:35   #1
Palomnik1096
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 83
По умолчанию Проверка на кратность

Программа проверяет введенное число на кратность 5, при этом мах число 50, вот код программы которую я написал, а чего в ней неправильно не пойму.
Public Sub Пример9()
Dim kolvotovara As Integer, i As Integer
kolvotovara = InputBox("Введите количество товара кратное 5, при этом мах значение 50 ", "Количество товара")
For i = 5 To 50 Step 5
If kolvotovara <> i Then
MsgBox "Вы ввели количество товара не кратное 5, либо больше 50"
End If
Next i
Range("E3") = "Стоимоcть " & kolvotovara & " единиц товара."
End Sub
Palomnik1096 вне форума Ответить с цитированием
Старый 12.12.2010, 15:52   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Public Sub Пример9()
Dim kolvotovara As Integer, i As Integer
kolvotovara = InputBox("Введите количество товара кратное 5, при этом мах значение 50 ", "Количество товара")
For i = 5 To 50 Step 5
If kolvotovara = i Then exit for
Next i
if i > 50 then
MsgBox "Вы ввели количество товара не кратное 5, либо больше 50" 
End If
Range("E3") = "Стоимоcть " & kolvotovara & " единиц товара."
End Sub
приведенный вами Пример9 не ругался бы только на число 50. в макросе обычно происходит то, что в нем написано, а не то, о чем Вы думаете.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.12.2010, 17:57   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Еще вариант. Без цикла:
Код:
Public Sub Пример9()
    Dim kolvotovara As Integer
    kolvotovara = InputBox("Введите количество товара кратное 5, при этом мах значение 50 ", "Количество товара")
    If kolvotovara > 50 Or kolvotovara Mod 5 <> 0 Then _
        MsgBox "Вы ввели количество товара не кратное 5, либо больше 50" Else _
        [E3] = "Стоимоcть " & kolvotovara & " единиц товара."
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 13.12.2010, 00:59   #4
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Согласно подписи SAS888
Смотрите ячейку Е1, меню Данные-Проверка.
Вложения
Тип файла: rar проверка.rar (1.6 Кб, 21 просмотров)
vikttur вне форума Ответить с цитированием
Старый 13.12.2010, 14:11   #5
Palomnik1096
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 83
По умолчанию

Спасибо, для изучения разных вариантов подойдет, но в данном случае требовалось использовать цикл))
Palomnik1096 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сумма и произведение чисел с проверкой на кратность.. Locust Microsoft Office Excel 4 01.04.2009 12:41
Проверка Манжосов Денис :) Общие вопросы Delphi 4 17.10.2008 16:27
Проверить кратность трем Anita_i Паскаль, Turbo Pascal, PascalABC.NET 2 11.05.2008 10:14