Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как правильно оформлять процедуру If then else - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Как правильно оформлять процедуру If then else
Evgeniy_27_09_1986 Дата: Суббота, 14.02.2015, 00:32 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый вечер! Решаю задачу по VBA. В задаче есть условие: если t <=28 то нужно s/75, в противном случае s/120. Если я ввожу число больше 28, то все работает, если меньше или равно 28, программа ничего не считает. Ниже привожу код программы:
[vba]
Код
Public t, s, n As Single
Private Sub TextBox1_Change()
t = TextBox1.Value
End Sub
Private Sub TextBox2_Change()
s = TextBox2.Value
End Sub
Private Sub CommandButton1_Click()
If t <= 28 Then
n = s / 75
Else: n = s / 120
TextBox3.Value = n
End If
End Sub

Private Sub CommandButton2_Click()
TextBox1.Value = 0
TextBox2.Value = 0
TextBox3.Value = 0
UserForm1.Hide
End Sub
[/vba]

Подскажите, пожалуйста, что не так...
[moder]Оформляйте коды спецтегами
Для макросов это кнопка #.
На первый раз оформил за Вас
К сообщению приложен файл: .xlsx.xlsm (20.0 Kb)
 
Ответить
СообщениеДобрый вечер! Решаю задачу по VBA. В задаче есть условие: если t <=28 то нужно s/75, в противном случае s/120. Если я ввожу число больше 28, то все работает, если меньше или равно 28, программа ничего не считает. Ниже привожу код программы:
[vba]
Код
Public t, s, n As Single
Private Sub TextBox1_Change()
t = TextBox1.Value
End Sub
Private Sub TextBox2_Change()
s = TextBox2.Value
End Sub
Private Sub CommandButton1_Click()
If t <= 28 Then
n = s / 75
Else: n = s / 120
TextBox3.Value = n
End If
End Sub

Private Sub CommandButton2_Click()
TextBox1.Value = 0
TextBox2.Value = 0
TextBox3.Value = 0
UserForm1.Hide
End Sub
[/vba]

Подскажите, пожалуйста, что не так...
[moder]Оформляйте коды спецтегами
Для макросов это кнопка #.
На первый раз оформил за Вас

Автор - Evgeniy_27_09_1986
Дата добавления - 14.02.2015 в 00:32
Leanna Дата: Суббота, 14.02.2015, 00:40 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
У вас скобка от End If закрыта неверно. Надо так:
[vba]
Код
Private Sub CommandButton1_Click()
If t <= 28 Then
    n = s / 75
Else
     n = s / 120
End If
TextBox3.Value = n
End Sub
[/vba]


Лучше день потерять, потом за пять минут долететь!
 
Ответить
СообщениеУ вас скобка от End If закрыта неверно. Надо так:
[vba]
Код
Private Sub CommandButton1_Click()
If t <= 28 Then
    n = s / 75
Else
     n = s / 120
End If
TextBox3.Value = n
End Sub
[/vba]

Автор - Leanna
Дата добавления - 14.02.2015 в 00:40
Evgeniy_27_09_1986 Дата: Суббота, 14.02.2015, 01:07 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Поправил. Все заработало. Спасибо!!!
 
Ответить
СообщениеПоправил. Все заработало. Спасибо!!!

Автор - Evgeniy_27_09_1986
Дата добавления - 14.02.2015 в 01:07
_Boroda_ Дата: Суббота, 14.02.2015, 01:16 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16957
Репутация: 6631 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Можно еще вот так, например
[vba]
Код
Private Sub CommandButton1_Click()
n = s / 120
If t <= 28 Then n = s / 75
TextBox3.Value = n
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМожно еще вот так, например
[vba]
Код
Private Sub CommandButton1_Click()
n = s / 120
If t <= 28 Then n = s / 75
TextBox3.Value = n
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 14.02.2015 в 01:16
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!