Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум3 по ИТ.doc
Скачиваний:
6
Добавлен:
26.08.2019
Размер:
3.67 Mб
Скачать

препод. к.т.н, доц. Нурматова Е.В.

Методические указания по лабораторным работам по дисциплине 3125 «Информационные технологии» спец. 3514

Лабораторная работа №3. Решение задач финансового анализа в Excel с использованием vba.

Цель работы – ознакомиться с встроенным языком программирования Visual Basic for Application (VBA), выполнив задания по вариантам, предложенным преподавателем. Научиться использовать объекты VB и Excel при решении экономических задач.

Задание I.

Рассмотрим пример оформления расчета краткосрочной ссуды с использованием диалогового окна.

  1. Переименуйте один из листов рабочей книги Excel, присвоив имя: “Ссуда”

  2. З адайте в диапазоне А1:А5, в каждой ячейке соответственно, заголовки данных, которые программа будет обрабатывать:

  3. В редакторе VBA создайте новую форму диалога (Userform1) как показано на рисунке:

Для настройки каждого элемента управления используйте его окно свойств (клавиша F4 при выделенном элементе управления). Например, чтобы изменить надписи элементов управления вы вводите новый текст в свойство Caption, для того, чтобы пятое поле ввода было недоступно и при этом его цвет фона был серый, задайте его свойству Enabled значение False, а в BackColor установите серый цвет. Свойство Enabled либо позволяет вносить изменения в объект ( true), либо запрещает (false). В примере в пятое поле ввода выводится число, вычисляемое программой. Для этого мы отключаем доступ к полю этим свойством.

В этой лабораторной работе мы не присваиваем имена элементам управления (свойство Name) из-за их ограниченного количества, но вы можете здесь проявить творчество.

  1. Все расчеты и заполнение ячеек рабочего листа будут выполнять программы, назначенные событиям Click каждой кнопки. Для ввода программного кода щелкните дважды по соответствующей кнопке.

  2. Для кнопки Отмена:

Private Sub CommandButton1_Click()

UserForm1.Hide

Unload Me

End Sub

  1. Для кнопки Вычислить:

Private Sub CommandButton2_Click()

Dim P, R, i As Double

Dim D_beginning, D_end As Date

TextBox5.Enabled = False

P = CDbl(TextBox1.Text)

D_beginning = CDate(TextBox2.Text)

D_end = CDate(TextBox3.Text)

i = CDbl(TextBox4.Text) / 100

If D_end < D_beginning Then

MsgBox "Ошибка в датах", vbExclamation, "Расчет ссуды"

Exit Sub

End If

R = P * (1 + i) ^ ((D_end - D_beginning) / 365)

R = Format(R, "Fixed")

TextBox5.Text = CStr(R)

With Worksheets("Ссуда")

Range("B1").Value = P

Range("B2").Value = D_beginning

Range("B3").Value = D_end

Range("B4").Value = i

Range("B5").Value = R

End With

E nd Sub

В процедуре проверяется корректность ввода дат, которая в случае несогласования выдает сообщение:

  1. Для кнопки Очистить:

Private Sub CommandButton3_Click()

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

Worksheets("Ссуда").Range("B1:B5").Clear

End Sub

  1. В ажно! Вы, наверное, уже обратили внимание, что процедуры мы создаем именно для объектов формы диалога, где переход между программой и непосредственно Userform возможен в окне навигатора по редактору VBA (View Project Explorer):

Для процедур же обработки для рабочих листов модуль добавляется отдельно (не в Userform), поэтому добавьте в редакторе VB лист модуля и введите следующий код для вызова сформированного окна диалога:

Sub Диалог()

UserForm1.Show

End Sub

  1. Осталось на рабочем листе Ссуда, используя панель инструментов Формы, сформировать кнопку с именем Расчет ссуды и назначить ей макрос Диалог.

  2. Протестируйте работу программы и результат выполнения продемонстрируйте преподавателю.