Здравствуйте. Есть следующая задача (см. вложенный файл): в окно гр.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, при этом хотелось бы без многочисленных ЕСЛИ Спасибо.
Здравствуйте. Есть следующая задача (см. вложенный файл): в окно гр.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
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-х элементов группы
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