Офисное программирование
Добавить в закладки К обложке
- Введение - Страница 1
- Часть IОсноные седения о программироании на VBA - Страница 2
- 1.2. Редактор VBA. Первое знакомство - Страница 7
- 1.3. Изменение порядка выполнения операторов - Страница 9
- Глава 2Объект UserForm - Страница 14
- 2.2. Использование форм - Страница 16
- Глава 3Массивы, процедуры, функции - Страница 20
- 3.2. Работа с различными типами данных - Страница 24
- 3.3. Процедуры и функции VBA - Страница 26
- Глава 4Создание VBA-программ - Страница 31
- 4.2. Элементы управления ComboBox, OptionButton и Frame - Страница 34
- 4.3. Элементы управления MultiPage, ScrollBar, SpinButton[2] - Страница 37
- 4.4. Объект DataObject[3] - Страница 41
- Часть IIПрограммирование на VBA в Word - Страница 44
- 5.2. Форматирование документа - Страница 48
- Глава 6Автоматизация стандартных документов - Страница 52
- 6.2. Создание и автоматическое заполнение бланков стандартных документов - Страница 55
- Часть IIIПрограммирование на VBA в Excel - Страница 58
- 7.2. Использование возможностей VBA при непосредственных расчетах - Страница 63
- 7.3. Финансовые функции - Страница 67
- Глава 8Построение диаграмм средстами VBA - Страница 69
- 8.2. Построение круговых диаграмм и гистограмм - Страница 72
- Глава 9Базы данных в Excel - Страница 73
- 9.2. Конструирование пользовательского интерфейса - Страница 76
- Глава 10Создание собственного головного меню[9] - Страница 78
- Литература - Страница 83
ddb(2400,300,10,1) равняется 480,00 $, амортизация за первый год.
ddb(2400,300,10,2,1,5) равняется 306,00 $, амортизация за второй год при использования коэффициента, равного 1,5 (а не метода двойного процента).
ddb(2400,300,10,10) равняется 22,12 $, амортизация за десятый год. Microsoft Excel автоматически предполагает, что коэффициент равен 2.
Создание VBA-программыПример 52. Создать программу, которая по введенным данным в текстовые поля формы рассчитывает амортизацию имущества за заданный период времени с использованием метода двукратного учета. Диалоговое окно расчета амортизации должно предусматривать: ввод исходных данных (начальная и остаточная стоимости, срок эксплуатации в годах), задание параметров амортизации (день, месяц, год и какой по счету). Вычисление амортизации по заданным условиям и вывод отчета произвести на рабочий лист excel. При этом следует предусмотреть, чтобы кнопка «Вывести отчет» являлась недоступной до вычисления амортизации.
Технология выполнения
1. Запустите приложение Excel и сохраните книгу под соответствующим именем.
2. Создайте форму аналогично приведенному рис. 100.
3. Пропишите работу кнопки «Вычислить»:
Private Sub CommandButton1_Click()
Dim timeall As Integer

Рис. 100. Разработанная форма примера 52 в рабочем состоянии
Dim amort As Double
With ComboBox1
If.ListIndex = 0 Then
timeall = Textbox3.Value * 365
ElseIf.ListIndex = 1 Then
timeall = Textbox3.Value * 12
Else
timeall = Textbox3.Value
End If
End With
amort = DDB(TextBox1.Value, TextBox2.Value, timeall,
TextBox4.Value)
TextBox5.Value = amort
CommandButton2.Enabled = True
End Sub
Обратите внимание на вычисление значений параметра timeall в зависимости от выбора пункта в раскрывающемся списке (день, месяц, год) и использования функции DDB.
4. Заполнение поля со списком происходит в процедуре инициализации формы:
Private Sub UserForm_initialize()
With ComboBox1
AddItem «день»
AddItem «месяц»
AddItem «год»
ListIndex = 0
End With
End Sub
Эта процедура запускается при использовании известного вам оператора Show.
5. Нажатие кнопки «Вывести отчет» должно приводить к выводу отчета на рабочий лист Excel в следующем формате (рис. 101):

Рис. 101. Вывод вычислений на лист excel в примере 52
Задача на закрепление материалаПример 53. Функция ddb() имеет пять аргументов, последний из которых является коэффициентом амортизации. Необходимо в форме предусмотреть новое текстовое поле, куда пользователь смог бы вводить коэффициент, а в коде нужно учесть присутствие этого коэффициента.
В программе необходимо построить обработчик ошибок. Необходимость его создания обусловлена следующим фактором: если весь период эксплуатации составляет, к примеру, 120 месяцев, то невозможно вычислить амортизацию за 121 и т. д. месяцы. Таким образом, при некорректном вводе периода расчета амортизации должно появляться окно вывода с сообщением об ошибке и должен быть осуществлен новый ввод неверного параметра.
Указание: выход из процедуры осуществляется командой Exit Sub.