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.
Глава 8
Построение диаграмм средстами VBA
8.1. Построение гладких диаграмм
Диаграммы в Excel
Диаграммы можно размещать на рабочем листе. Для этого используется коллекция chartobjects. Ее элементы – объекты класса chartobject – являются контейнерами, содержащими объект Chart, задающий непосредственно диаграмму.
Методы объекта Chart
Рассмотрим основные методы, определяющие новое поведение объекта Chart:
SubChartWizard ([Source], [Gallery], [Format], [PlotBy], [CategoryLabels], [SeriesLabels], [HasLegend], [Title], [CategoryTitle], [ValueTitle], [Extra-Title])
Этот метод позволяет построить или модифицировать существующую диаграмму. В отличие от мастера диаграмм (ChartWizard), который вызывается при построении диаграммы вручную, метод не является интерактивным, более того, он не позволяет задать все возможные свойства. С его помощью можно выполнить основную работу, а детали строятся с использованием других свойств и методов объекта Chart. Все параметры метода являются необязательными:
1) Source – объект Range, содержащий исходные данные для построения новой диаграммы. Если параметр опущен, то метод позволяет отредактировать существующую диаграмму – либо выделенную диаграмму рабочего листа, либо диаграмму активного листа диаграмм;
2) Gallery – задает тип диаграммы и может быть одной из следующих констант: xlArea, xlBar, xlColumn, xlLine, xlPie, xlRadar, xlXY-Scatter, xlCombination, xl3DArea, xl3DBar, xl3DColumn, xl3DLine, xl3DPie, xl3DSurface, xlDoughnut, или xlDefaultAutoFormat;
3) Format – задает формат для данного типа диаграммы. Каждому типу диаграммы соответствует некоторое число возможных форматов. Параметр задает номер формата, по умолчанию выбирается первый формат данного типа;
4) PlotBy – соответствует терминальному свойству PlotBy;
5) CategoryLabels и SeriesLabels – целые, указывающие число строк или столбцов с метками категорий и рядов данных в области, заданной параметром Source. Указывать эти числа нужно на единицу меньше фактического значения;
6) остальные параметры позволяют добавить легенду, задать название диаграммы и ее осей – они совпадают с соответствующими терминальными свойствами.
Sub SetSourceData (source as range, [plotby]). Устанавливает источник данных диаграммы. Второй параметр соответствует терминальному свойству plotby.
SubApplyCustomType (ChartTypeAsXlChartType, [typename]). Метод позволяет модифицировать диаграмму, применив к ней новый тип – стандартный или настраиваемый. Если этот тип стандартный, то тогда первый параметр полностью его определяет. Его возможные значения совпадают со значениями соответствующего терминального свойства charttype. Если же тип настраиваемый, то первый параметр должен иметь одно из следующих значений: xlbuiltin, xluserdefined или xlanygallery. В этом случае второй параметр задает имя типа диаграммы.
Читать дальше
Конец ознакомительного отрывка
Купить книгу