Код
Sub prim4a()
Dim zp As Long ' Зарплата
zpMin = 200000 ' Прожиточный минимум
kV = 15 ' Коэффициент для "высокой" зарплаты
kN = 7 ' Коэффициент для "низкой" зарплаты
zpV = zpMin * kV ' Значение "высокой" зарплаты
zpN = zpMin * kN ' Значение "низкой" зарплаты
'формирование заголовка
Cells(1, 1) = "№ теста"
Cells(1, 2) = "Значение zp"
Cells(1, 3) = "Уровень дохода"
k% = InputBox("Сколько всего тестов?", "Ввод")
For i% = 1 To k%
zp = InputBox("Введи значение zp", "Ввод") ' Вводим очередную зарплату
Cells(1 + i%, 1) = i%
Cells(1 + i%, 2) = zp
If zp < 0 Then ' Не может быть отрицательной
level$ = " Ошибка в данных"
Else
If zp > zpV Then ' Больше "высокой"
level$ = " Высокий"
Else
If zp < zpN Then ' Меньше "низкой"
level$ = " Низкий"
Else ' "средняя"
level$ = " Средний"
End If
End If
End If
Cells(1 + i%, 3) = level$
Next i%
End Sub
Прятать в теле программы инициализацию параметров, начальные значения которых от запуска к запуску могут меняться (zpMin, kV, kN ),- нехорошо. Для самопроверки, предлагаю программку доделать, так чтобы эти три значения брались из листа, а потом в этом листе ещё и печатались бы вычисленные zpV и zpN.
Следующий этап самопроверки - автоматическая очистка листа в начале работы макроса от результатов предыдущего запуска. Ну а потом уже можно и колоночки в разные цвета раскрасить...
