Офисное программирование
Шрифт:
Кнопка Закончить таблицу
Private Sub CommandButton3_Click
'закрытие формы подведение итогов и вывод фамилии преподавателя
UserForm1.Hide
With ActiveSheet
strName2 = Trim(Str(strNomer + nomer + 2))
Range("A" + strName2).Value = «классный руководитель»
Range("D" + strName2).Value = TextBox4.Text
End With
End Sub
5. Откомпилируйте программу и запустите на выполнение.
Пример 43. Разработать
Пример 44. Разработать программу, которая по введенным переменным в соответствующие поля формы решает уравнение вида y = a*x^3 + 3b*sinx, находит неизвестную переменную х и выводит результат вычислений на рабочий лист Excel.
Пример 45. Разработать программу, которая по введенным переменным в соответствующие поля формы решает уравнение вида y = 5a*x^1/3 + 3b*tg4x, находит неизвестную переменную х и выводит результат вычислений на рабочий лист Excel.
Пример 46. Разработать программу, которая по введенным переменным в соответствующие поля формы решает уравнение вида y = ln(a*x^3) + 3b*cos(e^x), находит неизвестную переменную х и выводит результат вычислений на рабочий лист Excel.
7.2. Использование возможностей VBA при непосредственных расчетах
Пример 47. Дан табличный документ указанного ниже вида. Необходимо:
1) создать шаблонную часть этого документа с помощью табличного процессора Excel;
2) составить программу на языке VBA, которая будет запрашивать у пользователя исходные данные для заполнения этой таблицы, производить необходимые расчеты и помещать все данные в соответствующие ячейки, предусмотренные в шаблоне.
Звездочкой (*) помечены те графы таблицы, по которым необходимо подвести итог.
Технология выполнения
Анализ таблицы показывает, что вид деятельности, прогноз прибыли и фактическая прибыль являются исходными данными, отклонение (в процентах и в сумме) – расчетными. Кроме того, рассчитываются итоги по некоторым графам таблицы.
Создание шаблона табличного документа
Шаблон создается на обычном рабочем листе в Excel. При этом необходимо только зарезервировать свободные ячейки для занесения следующих данных: месяц, год, потребительское общество, сумма издержек, товарооборот, уровень издержек. Поскольку заранее неизвестно количество потребительских обществ, то ячейки для итогов и ФИО экономиста заранее не резервируются. Рабочий лист переименован в Отчет. Реализация
Рис. 96. Шаблон-заготовка табличного документа
На этом рисунке желтым цветом обозначены те ячейки, которые во время работы программы будут заполняться исходными и расчетными данными.
Математическая модель решения задачи
Кроме организации ввода исходных данных и вывода их в некоторые ячейки электронной таблицы, программа должна производить расчет отклонений и итоговых значений по графам «Сумма издержек – план», «Сумма издержек – факт», «Товарооборот – план», «Товарооборот – факт», «Уровень издержек – план», «Уровень издержек – факт», «Отклонение по уровню». Для расчетных величин используем следующие переменные:
Nomer – номер текущей строки таблицы;
SP – планируемая сумма издержек;
SF – фактическая сумма издержек;
TP – планируемый товарооборот;
TF – фактический товарооборот;
IP – планируемый уровень издержек;
EF – фактический уровень издержек;
ItogSP – накопление итога по столбцу «планируемая сумма издержек»;
ItogSF – накопление итога по столбцу «фактическая сумма издержек»;
ItogTP – накопление итога по столбцу «планируемый товарооборот»;
ItogTF – накопление итога по столбцу «фактический товарооборот»;
ItogIP – накопление итога по столбцу «планируемый уровень издержек»;
ItogEF – накопление итога по столбцу «фактический уровень издержек».
С учетом введенных обозначений расчетные формулы будут иметь следующий вид:
1) для отклонений:
[Отклонение в %] = (F – P) / P * 100
[Отклонение в сумме] = F – P
Результаты этих вычислений можно не сохранять в отдельных переменных, так как они сразу могут быть занесены в соответствующие ячейки электронной таблицы;
2) для итогов по прогнозу и факту:
ItogP = ItogP + P
ItogF = ItogF + F
Эти формулы реализуют алгоритм получения итоговой суммы методом накопления, когда величина прогноза (факта), соответствующая очередному виду деятельности, добавляется к сумме соответствующих величин по уже рассмотренным видам деятельности. Назовем эти суммы промежуточными. Когда будут обработаны все виды деятельности, промежуточные суммы превратятся в окончательные – итоговые. В начале этого процесса (до того, как будет рассчитываться первая промежуточная сумма) переменные ItogP и ItogF равны нулю;
3) для итогов по отклонениям:
[итоговое отклонение в процентах] = (ItogF – ItogP) / ItogP * 100
[итоговое отклонение в сумме] = ItogF – ItogP
Результаты этих вычислений можно не сохранять в отдельных переменных, так как они сразу могут быть занесены в соответствующие ячейки электронной таблицы.
Разработка интерфейса пользователя
Каждому текстовому полю поменяем стандартное имя (TextBox) на более понятное (рис. 97). В нашем примере: