Чтение онлайн

на главную - закладки

Жанры

Офисное программирование
Шрифт:

TextBox1 – MesTextBox – ввод месяца;

TextBox2 – YearTextBox – ввод года;

TextBox3 – FIOTextBox – ввод фамилии, имени и отчества экономиста;

TextBox4 – POTextBox – ввод названия потребительского общества;

TextBox5 – SPTextBox – планируемая сумма издержек;

TextBox6 – SFTextBox – фактическая сумма издержек;

TextBox7 – TPTextBox – планируемый товарооборот;

TextBox8 – TFTextBox – фактический товарооборот;

TextBox9 – IPTextBox – планируемый уровень издержек;

TextBox10 – EFTextBox – фактический уровень издержек.

Рис. 97. Разработанная форма примера 47 в рабочем состоянии

Программа на языке VBA

' Объявление переменных и констант

Const StrNomer = 7 'количество

строк для заголовка таблицы

Dim Nomer As Long 'номер очередной строки таблицы (потребительское общество)

Dim SP As Long

Dim SF As Long

Dim TP As Long

Dim TF As Long

Dim IP As Long

Dim EF As Long

Dim ItogSP As Long

Dim ItogSF As Long

Dim ItogTP As Long

Dim ItogTF As Long

Dim ItogIP As Long

Dim ItogEF As Long

Dim StrName1 As String

Dim StrName2 As String

'Процедура инициализации формы

Private Sub UserForm_Initialize

Worksheets(«Отчет»).Activate

MesTextBox.SetFocus

End Sub

'Процедура считывания заголовочных данных и вывода их в ячейки электронной таблицы Private Sub CommandButton3_Click

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

With ActiveSheet

Range(«E3»).Value = MesTextBox.Text

Range(«G3»).Value = YearTextBox.Text

End With

ActiveWorkbook.SaveAs ("Отклонение фактического уровня издержек обращения от плана за " + MesTextBox.Text + «месяц. xls»)

Nomer = 1

ItogSP = 0

ItogSF = 0

ItogTP = 0

ItogTF = 0

ItogIP = 0

ItogEF = 0

End Sub

' Процедура обработки данных по видам деятельности

Private Sub CommandButton2_Click

StrName1 = Trim(Str(StrNomer + Nomer))

With ActiveSheet

Range("A" + StrName1).Value = Nomer

Range("B" + StrName1).Value = POTextBox.Text

SP = Val(SPTextBox.Text)

Range("C" + StrName1).Value = SP

ItogSP = ItogSP + SP

SF = Val(SFTextBox.Text)

Range("D" + StrName1).Value = SF

ItogSF = ItogSF + SF

TP = Val(TPTextBox.Text)

Range("E" + StrName1).Value = TP

ItogTP = ItogTP + TP

TF = Val(TFTextBox.Text)

Range("F" + StrName1).Value = TF

ItogTF = ItogTF + TF

IP = Val(IPTextBox.Text)

Range("G" + StrName1).Value = IP

ItogIP = ItogIP + IP

EF = Val(EFTextBox.Text)

Range("H" + StrName1).Value = EF

ItogEF = ItogEF + EF

Range("I" + StrName1).Value = EF – IP

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

StrName2 = Trim(Str(StrNomer + Nomer + 1))

Set Range1 =.Range("A" + StrName1 +":I" + StrName1)

Set Range2 =.Range("A" + StrName1 +":I" + StrName2)

Range1.AutoFill Destination:=Range2

Range("A" + StrName2 +":I" + StrName2).ClearContents

End With

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

POTextBox.Text = ""

SPTextBox.Text = ""

SFTextBox.Text = ""

TPTextBox.Text = ""

TFTextBox.Text = ""

IPTextBox.Text = ""

EFTextBox.Text = ""

POTextBox.SetFocus

Nomer = Nomer + 1

End Sub

'Закрытие формы, подведение итогов и вывод фамилии экономиста

Private Sub CommandButton1_Click

UserForm1.Hide

StrName1 = Trim(Str(StrNomer + Nomer))

With ActiveSheet

Range("A" + StrName1).Value = «Итого:»

Range("C" + StrName1).Value = ItogSP

Range("D" + StrName1).Value = ItogSF

Range("E" + StrName1).Value = ItogTP

Range("F" + StrName1).Value = ItogTF

Range("G" + StrName1).Value = ItogIP

Range("H" + StrName1).Value = ItogEF

Range("I" + StrName1).Value = ItogEF – ItogIP

StrName2 = Trim(Str(StrNomer + Nomer + 2))

Range("A" + StrName2).Value = «Экономист:»

Range("G" + StrName2).Value = FIOTextBox.Text

End With

End Sub

Использование программы в режиме выполнения и получения результатов

Перед запуском программы сохраним рабочую книгу под именем отчет1.xls.

Кнопку «Создать отчетную таблицу» следует нажимать один раз после ввода заголовочной информации, кнопка «Добавить строку» нажимается каждый раз после ввода данных по очередному виду деятельности. После ввода всех данных необходимо нажать кнопку «Закончить», а затем переключиться в окно Microsoft Excel. На рабочем листе появится результат, аналогичный рис. 98.

Задачи на закрепление материала

Пример 48. Создать программу, которая по введенным в соответствующие текстовые поля формы данным автоматизирует ввод данных по обслуживанию населения некоторой организацией за определенный период времени. Кроме этого, программа должна вычислять данные по столбцам, отмеченным звездочками. Вывод данных предусмотреть на лист Excel.

Рис. 98. Шаблон

табличного документа, заполненный данными

Пример 49. Создать программу, которая по введенным в соответствующие текстовые поля формы данным автоматизирует ввод данных по расчету товарного баланса некоторой организацией, занимающейся торговлей, за определенный период времени. Кроме этого, программа должна вычислять данные по столбцам, отмеченным звездочками. Вывод данных предусмотреть на лист excel.

Пример 50. Создать программу, которая по введенным в соответствующие текстовые поля формы данным автоматизирует ввод данных на отпуск товара с некоторого склада и формирует счет-фактуру за определенный период времени. Кроме этого, программа должна вычислять данные по столбцам, отмеченным звездочками. Вывод данных предусмотреть на лист excel.

Пример 51. Создать программу, которая по введенным в соответствующие текстовые поля формы данным автоматизирует ввод данных на студентов определенной специальности. Данные выводятся на рабочий лист excel. Предусмотреть на листе excel кнопку, которая вызывает необходимую форму для пользователя, не загружая редактор vba.

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

1. Сохраните новый документ Excel.

2. Создайте форму приложения, отвечающую требованиям задачи (см. рис. 99а).

3. Пропишите процедуры обработки нажатия кнопок Создать отчетную таблицу, Добавить строку и Закончить (см. пример 47).

4. При выводе информации на рабочий лист Excel придерживайтесь оформления, предложенного на рис. 99б.

Рис. 99а. Разработанная форма примера 51 в рабочем состоянии

Рис. 99б. Вывод информации на лист excel после нажатия кнопки «Закончить»

5. Произведем резентацию формы, т. е. создадим кнопку запуска формы непосредственно на листе Excel, так как запускать форму на выполнение каждый раз из редактора VBA не очень красиво и неудобно для пользователя. Для простоты использования формы поступим следующим образом: установим на рабочем листе Excel со списком группы кнопку «Диалог», нажатие которой будет приводить к появлению разработанной формы (диалогового окна). Для этого:

1) выберите в главном меню Microsoft Excel <Сервис> <Макрос><Макросы…>;

2) укажите имя макроса, например Макрос1, и нажмите <Создать>. После этого загрузится редактор VBA с заготовкой

Sub Макрос1

End Sub

3) вставьте в эту заготовку оператор UserForm1.Show, активизирующий созданную форму;

4) далее выберите в главном меню книги Excel <Вид><Панели инструментов><Формы>. Появится панель с элементами управления. Выберите <Кнопка>, после чего можно нарисовать кнопку на рабочем листе Excel;

5) после этого сразу появляется диалоговое окно «Назначить макрос объекту». Выберите Макрос1;

6) чтобы название кнопки было более содержательным, щелкните на ней правой клавишей мыши. В появившемся рядом меню выберите <Изменить текст>. После этого установите текст «Диалог».

Теперь при нажатии кнопки «Диалог» на рабочем листе появится разработанное диалоговое окно примера.

7.3. Финансовые функции

Расчет амортизации

VBA предоставляет ряд встроенных функций, которые можно использовать для выполнения финансовых расчетов. Они разбиты на три основные группы: функции учета амортизации, функции учета отчислений и функции учета денежных потоков. Мы рассмотрим одну их этих групп – функции учета амортизации. Эти функции используются в бухгалтерском деле для предоставления в денежном выражении обесценивания основных средств за определенный период времени. Например, фирме, являющейся владельцем грузового автомобиля, необходимо рассчитать сумму ежегодной амортизации грузовика для вычисления текущей стоимости грузовика в любой момент времени. Поскольку амортизация влияет на размер налогов, правительство часто устанавливает обязательные формулы, которые следует применять для расчета амортизации.

Поделиться:
Популярные книги

Кротовский, побойтесь бога

Парсиев Дмитрий
6. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кротовский, побойтесь бога

Конь Рыжий

Москвитина Полина Дмитриевна
2. Сказания о людях тайги
Проза:
историческая проза
8.75
рейтинг книги
Конь Рыжий

На границе империй. Том 9. Часть 4

INDIGO
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 4

Стратегия обмана. Трилогия

Ванина Антонина
Фантастика:
боевая фантастика
5.00
рейтинг книги
Стратегия обмана. Трилогия

Новые горизонты

Лисина Александра
5. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Новые горизонты

Отмороженный 7.0

Гарцевич Евгений Александрович
7. Отмороженный
Фантастика:
рпг
аниме
5.00
рейтинг книги
Отмороженный 7.0

Кто ты, моя королева

Островская Ольга
Любовные романы:
любовно-фантастические романы
7.67
рейтинг книги
Кто ты, моя королева

Блуждающие огни 2

Панченко Андрей Алексеевич
2. Блуждающие огни
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Блуждающие огни 2

Сводный гад

Рам Янка
2. Самбисты
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Сводный гад

Барону наплевать на правила

Ренгач Евгений
7. Закон сильного
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Барону наплевать на правила

Здравствуй, 1985-й

Иванов Дмитрий
2. Девяностые
Фантастика:
альтернативная история
5.25
рейтинг книги
Здравствуй, 1985-й

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Чехов. Книга 2

Гоблин (MeXXanik)
2. Адвокат Чехов
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Чехов. Книга 2

Отдельный танковый

Берг Александр Анатольевич
1. Антиблицкриг
Фантастика:
боевая фантастика
альтернативная история
5.00
рейтинг книги
Отдельный танковый