Литмир - Электронная Библиотека
Содержание  
A
A

Технология выполнения

1. Запустите приложение Excel, сохраните документ.

2. Перейдите в редактор VBA. Создайте форму согласно приведенному рис. 94.

Офисное программирование - i_135.png

Рис. 94. Разработанная форма примера 42 в режиме конструктора

3. На листе Excel расположите необходимый текст (оформление), предусмотрев соответствующие ячейки вывода информации (рис. 95).

Офисное программирование - i_136.png

Рис. 95. Вывод результатов на лист excel после запуска формы

4. Обработайте кнопки.

Кнопка Создать таблицу

Const strNomer = 3 количество строк для заголовка

Dim strName1 As String 'строка для адресации ячеек

Dim strName2 As String

Dim nomer As Long номер очередной строки таблицы

Private Sub CommandButton1_Click()

ActiveWorkbook.SaveAs («работа с базой данных. xls»)

nomer = 1 End Sub

Кнопка Добавить строку

Private Sub CommandButton2_Click()

strName1 = Trim(Str(strNomer + nomer))

With ActiveSheet 'ввод данных для новой отчетной таблицы

Range("A" + strName1).Value = nomer

Range("B" + strName1).Value = TextBox1.Text

Range("C" + strName1).Value = TextBox2.Text

Range("D" + strName1).Value = TextBox3.Text

'автозаполнение с текущей строки таблицы

strName2 = Trim(Str(strNomer + nomer + 1))

Set range1 =.Range("A" + strName1 +":D" + strName1)

Set range2 =.Range("A" + strName1 +":D" + strName2)

range1.AutoFill Destination:=range2

Range("A" + strName2 +":D" + strName2).Clear

End With

' очистка полей формы для ввода очередной записи

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox1.SetFocus

nomer = nomer + 1

End Sub

Кнопка Закончить таблицу

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. Разработать программу, которая по введенным переменным в соответствующие поля формы решает простейшее линейное уравнение y = a*x + b*x, находит неизвестную переменную х и выводит результат вычислений на рабочий лист Excel.

Пример 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 при непосредственных расчетах

Создание VBA-программ

Пример 47. Дан табличный документ указанного ниже вида. Необходимо:

1) создать шаблонную часть этого документа с помощью табличного процессора Excel;

2) составить программу на языке VBA, которая будет запрашивать у пользователя исходные данные для заполнения этой таблицы, производить необходимые расчеты и помещать все данные в соответствующие ячейки, предусмотренные в шаблоне.

Отклонение фактического уровня издержек обращения от плана за месяц _________________ 20__ г.
Офисное программирование - i_137.png

Звездочкой (*) помечены те графы таблицы, по которым необходимо подвести итог.

Технология выполнения

Анализ таблицы показывает, что вид деятельности, прогноз прибыли и фактическая прибыль являются исходными данными, отклонение (в процентах и в сумме) – расчетными. Кроме того, рассчитываются итоги по некоторым графам таблицы.

Создание шаблона табличного документа

Шаблон создается на обычном рабочем листе в Excel. При этом необходимо только зарезервировать свободные ячейки для занесения следующих данных: месяц, год, потребительское общество, сумма издержек, товарооборот, уровень издержек. Поскольку заранее неизвестно количество потребительских обществ, то ячейки для итогов и ФИО экономиста заранее не резервируются. Рабочий лист переименован в Отчет. Реализация такого шаблона представлена на рис. 96.

Офисное программирование - i_138.png

Рис. 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 равны нулю;

30
{"b":"95947","o":1}