Задание. Создание макросов. VBA

Лабораторная работа №4

Создание макросов. VBA.

Цель работы: освоение основных приемов и способов создания макросов. Использование VBA.

Задание

Необходимо автоматизировать расчет времени транспортировки груза различными видами транспорта, используя возможности VBA.

Решение:

Создайте новую Книгу в Microsoft Excel.

Введите данные согласно рисунку 2.

Рисунок 2

В нижней части документа ячейка (B9) содержится раскрывающийся список выбора транспорта, в ячейке B10 отображается время транспортировки груза выбранным способом.

После выбора элемента в раскрывающемся списке, должно открываться диалоговое окно, в котором необходимо заполнить несколько полей (рис.3)

Рисунок 3

После щелчка на кнопку ОК получаем конечный результат в ячейке В10.

Запустите Редактор Visual Basic.

Создайте четыре формы.

Процедура обработки щелчка на кнопке Отмена

Private Sub CommandButton2_Click()

UserForm1.Hide

Range("B10").FormulaR1C1 = Null

End Sub

Данная процедура одинакова для всех форм.

Процедура щелчка на кнопке ОК.

Форма 1

Private Sub CommandButton1_Click()

Range("B10").FormulaR1C1 = TextBox1.Value / TextBox2.Value + TextBox3.Value

UserForm1.Hide

End Sub

Форма 2

Private Sub CommandButton1_Click()

Range("B10").FormulaR1C1 = TextBox1.Value / TextBox2.Value + TextBox3.Value _

+ TextBox4.Value

UserForm2.Hide

End Sub

Форма 3

Private Sub CommandButton1_Click()

Range("B10").FormulaR1C1 = TextBox1.Value / TextBox2.Value + TextBox3.Value _

+ TextBox4.Value

UserForm3.Hide

End Sub

Форма 4

Private Sub CommandButton1_Click()

Range("B10").FormulaR1C1 = TextBox1.Value / TextBox2.Value + TextBox3.Value _

+ TextBox4.Value + 2 * TextBox5.Value * TextBox6.Value / TextBox7.Value

UserForm4.Hide

End Sub

Кроме того необходимо описать процедуру реакции приложения на изменение раскрывающегося списка.

Вставить модуль.

Public Sub Data(V)

Select Case V

Case 0

UserForm1.Show

Case 1

UserForm2.Show

Case 2

UserForm3.Show

Case Else

UserForm4.Show

End Select

End Sub

Далее вернуться к Excel. Вставить элемент управления ActivX поле со списком. ПЩ – Исходный текст

Описать процедуру

Private Sub ComboBox1_Change()

Data (ComboBox1.ListIndex)

End Sub


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: