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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2010, 15:26   #1
HelperAwM
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 19
По умолчанию Vba If Then несложная задача

Здраствуйте уважаемые программисты
Нужна помощь в создание легкой для вас задачи =)
Задача:
Если переменная "A" больше 0, то должна найтись сумма A+B , Если переменная "A" меньше 0 то должно найтись произведение A*B.
Поскольку я мало изучал vba и давно, я почти нечего непомню и прощу помощи у вас =)
HelperAwM вне форума Ответить с цитированием
Старый 20.09.2010, 15:39   #2
IVolution
 
Аватар для IVolution
 
Регистрация: 16.09.2010
Сообщений: 7
По умолчанию

if A > 0 then
A = A + B 'или любая другая переменная, куда запишется сумма
else
A = A * B
end if
IVolution вне форума Ответить с цитированием
Старый 20.09.2010, 16:03   #3
HelperAwM
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 19
По умолчанию

А как это решить через " MsgBox " ? чтобы ответ выводил и можно чтобы задавать числа A и B=)
HelperAwM вне форума Ответить с цитированием
Старый 20.09.2010, 17:57   #4
IVolution
 
Аватар для IVolution
 
Регистрация: 16.09.2010
Сообщений: 7
По умолчанию

Если делаешь на форме, то кинь туда 2 компонента TextBox. В первый будет вводиться А, а во второй - В.
Итак, код:
Dim a, b As Integer
a = TextBox1.Text
b = TextBox2.Text
If a > 0 Then
MsgBox ("Сумма равна: " & a + b)
End If
If a < 0 Then
MsgBox ("Произведение равно: " & a * b)
End If
IVolution вне форума Ответить с цитированием
Старый 20.09.2010, 19:27   #5
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Или вот так с запросом каждой переменной и проверкой, что введено число
Код:
Sub IfThenExample()
  Dim a As Integer, b As Integer
  Dim retval As String
  
  'Получаем a
  Do While Not IsNumeric(retval)
    retval = InputBox("Введите число a", "Ввод первого числа", retval)
    If Len(retval) = 0 Then Exit Sub
  Loop
  a = CInt(retval)
  retval = ""
  'Получаем b
  Do While Not IsNumeric(retval)
    retval = InputBox("Введите число b", "Ввод второго числа", retval)
    If Len(retval) = 0 Then Exit Sub
  Loop
  b = CInt(retval)
  'Выводим результат
  If a > 0 Then
    MsgBox "Сумма введённых чисел равна " & a + b & ".", vbInformation
  ElseIf a < 0 Then
    MsgBox "Произведение введённых чисел равно " & a * b & ".", vbInformation
  End If
End Sub
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 20.09.2010, 22:55   #6
HelperAwM
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 19
По умолчанию

Спасибо а что означает это
Код:
Do While Not IsNumeric(retval)
If Len(retval) = 0 Then Exit Sub
Loop
b = CInt(retval)
HelperAwM вне форума Ответить с цитированием
Старый 20.09.2010, 23:44   #7
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Эта часть кода будет выводить запрос до тех пор, пока не введут число или не нажмут "Отмена". После этого введённое строковое значение преобразовывается в число.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
несложная программа в vb retype Помощь студентам 2 15.05.2010 07:07
несложная программа на Делфи mast2xx Помощь студентам 1 14.02.2010 10:59
Вроде несложная задачка britva666 Помощь студентам 2 28.06.2009 19:09
Несложная задачка... Med Помощь студентам 7 19.03.2009 20:37
Помогите, вроде несложная задачка, НО Nez Общие вопросы Delphi 17 12.03.2007 14:04