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

Вход

Регистрация

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

 

= Мир MS Excel/Применение переключателей VBA без многочисленных ЕСЛИ - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Применение переключателей VBA без многочисленных ЕСЛИ (Формулы/Formulas)
Применение переключателей VBA без многочисленных ЕСЛИ
oleg60 Дата: Среда, 30.03.2016, 10:47 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.
Есть следующая задача (см. вложенный файл):
в окно гр.11 записывается вручную число X от 1 до 250.
В ячейке А1 должно появиться число равное В (из L13:L20) или число равное С (из M13:M16) при следующих условиях:
- если в окне гр. 9 стоит ДА и записанное число в окно гр.11 X<=63, то А1=L13, если НЕТ, то А1=M13
- если в окне гр. 9 стоит ДА и записанное число в окно гр.11 63<X<=100, то А1=L14, если НЕТ, то А1=M14
- если в окне гр. 9 стоит ДА и записанное число в окно гр.11 100<X<=160, то А1=L15, если НЕТ, то А1=M15
- если в окне гр. 9 стоит ДА и записанное число в окно гр.11 160<X<=250, то А1=L16, если НЕТ, то А1=M16
Эту задачу, конечно, можно расписать, используя формулы Excel.
Но необходимо ее решить с использованием кода VBA, при этом хотелось бы без многочисленных ЕСЛИ
Спасибо.
К сообщению приложен файл: _1.xlsm(18Kb)
 
Ответить
СообщениеЗдравствуйте.
Есть следующая задача (см. вложенный файл):
в окно гр.11 записывается вручную число X от 1 до 250.
В ячейке А1 должно появиться число равное В (из L13:L20) или число равное С (из M13:M16) при следующих условиях:
- если в окне гр. 9 стоит ДА и записанное число в окно гр.11 X<=63, то А1=L13, если НЕТ, то А1=M13
- если в окне гр. 9 стоит ДА и записанное число в окно гр.11 63<X<=100, то А1=L14, если НЕТ, то А1=M14
- если в окне гр. 9 стоит ДА и записанное число в окно гр.11 100<X<=160, то А1=L15, если НЕТ, то А1=M15
- если в окне гр. 9 стоит ДА и записанное число в окно гр.11 160<X<=250, то А1=L16, если НЕТ, то А1=M16
Эту задачу, конечно, можно расписать, используя формулы Excel.
Но необходимо ее решить с использованием кода VBA, при этом хотелось бы без многочисленных ЕСЛИ
Спасибо.

Автор - oleg60
Дата добавления - 30.03.2016 в 10:47
Manyasha Дата: Среда, 30.03.2016, 11:34 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1590
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
oleg60, а чем формулы не угодили?
Запихала вычисление формулы в код
[vba]
Код
Sub проверка()
    If TextBox1 <> "" Then
        [a1].Value = Evaluate("=VLOOKUP(MIN(IF(" & TextBox1 & "<=K13:K16,K13:K16)),K13:M16," & IIf(OptionButton3, 2, 3) & ",0)")
    Else
        [a1].Clear
    End If
End Sub
[/vba]
Повесить этот макрос на изменение всех 3-х элементов группы
К сообщению приложен файл: _1-1.xlsm(27Kb)


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеoleg60, а чем формулы не угодили?
Запихала вычисление формулы в код
[vba]
Код
Sub проверка()
    If TextBox1 <> "" Then
        [a1].Value = Evaluate("=VLOOKUP(MIN(IF(" & TextBox1 & "<=K13:K16,K13:K16)),K13:M16," & IIf(OptionButton3, 2, 3) & ",0)")
    Else
        [a1].Clear
    End If
End Sub
[/vba]
Повесить этот макрос на изменение всех 3-х элементов группы

Автор - Manyasha
Дата добавления - 30.03.2016 в 11:34
oleg60 Дата: Среда, 30.03.2016, 13:28 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Быстро и красиво.
Большое спасибо.
А формулы-то угодили, только эта штука нужна для использования в userform
 
Ответить
СообщениеБыстро и красиво.
Большое спасибо.
А формулы-то угодили, только эта штука нужна для использования в userform

Автор - oleg60
Дата добавления - 30.03.2016 в 13:28
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Применение переключателей VBA без многочисленных ЕСЛИ (Формулы/Formulas)
Страница 1 из 11
Поиск:

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