Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа “Основы программирования в VBA”
(VBA №0)
Цель работы: получить простейшие навыки в реализации программ в VBA.
Задания
Лабораторная работа состоит из 11 заданий (см. 6-8, приложение 1). Каждое задание - программный код, который нужно набрать в VBА, протестировать и получить результат, уметь ответить на вопрос, что реализовано той или иной строкой программного кода, что означает каждое «слово» программы. Для самотестирования рекомендуется выполнить устно задание «Контрольное задание» на стр. 9-10 приложения 1.
Для написания программного кода используется редактор Visual Basic Editor (VBE).
Технология работы
Рис. 1
Убедиться, что в главном меню Microsoft Excel установлен Разработчик.
Рис. 2
Если в главном меню Microsoft Excel Разработчик не вынесен, то в приложении 2 (см. стр. 1115) представлена технология установки Разработчика.
Рис.3
Создание программного модуля в составе рабочей книги: Insert / Module (рис. 4).
Рис. 4. Создание программного модуля в среде Microsoft Excel
При этом создается новый рабочий лист со стандартным именем Module и порядковым номером программного модуля в рабочей книге.
Интерфейс редактора VBE
Рис. 5
Список классов объектов можно просмотреть, вызвав окно для просмотра объектов командой View / Object Browser.
В окне программного модуля записывается программный код.
Пример:
Sub example1()
Union(Range(Cells(1, 1), Cells(2, 2)), Range(Cells(5, 5), Cells(7, 7))).Select
End Sub
Рис. 6. Интерфейс редактора VBE в среде Microsoft Excel, иллюстрирующий наличие ошибки
Если в программе обнаружены ошибки, их необходимо исправить, написать правильно код программы.
Используя главное меню, выполняем последовательность действий: Debug/ Compile VBAProject. Чтобы отправить на счет, выполняем последовательность действий: Run / Run Sub/UserForm
а |
б |
Рис. 7.
Рис. 8
Рис.9. Результат работы программы
Основными пунктами меню, необходимыми для запуска и отладки программы являются:
Приложение 1
Задания лаб. раб. №0
Sub UsingVariable()
Dim Num1 As Integer
Num1 = Worksheets(1).Range("A1").Value
MsgBox Num1
End Sub
Public Num1 As Integer
'
'****************************
Sub UsingVariable()
Num1 = Worksheets(1).Range("A1").Value
MsgBox Num1
End Sub
'****************************
'****************************
Sub UsingConst()
Const Num1 As String = "Tomsk Polytechnic Univ."
MsgBox Num1
End Sub
'****************************
Const Num1 As String = "Tomsk Polytechnic Univ."
'****************************
Sub UsingConst()
MsgBox Num1
End Sub
'****************************
Public Const Num1 As String = "Tomsk Polytechnic Univ."
'****************************
Sub UsingConst()
MsgBox Num1
End Sub
'****************************
Sub Call_Function()
Dim var1 As Integer
Dim var2 As Integer
Dim var3 As Integer
var1 = 5
var2 = 10
var3 = Multiply(var1, var2)
MsgBox (var3)
End Sub
___________________
Function Multiply(ByVal var1 As Integer, ByVal var2 As Integer)
Multiply = var1 * var2
End Function
Sub Proc()
var1 = GetRand
ModuleLevelProcedure var1
End Sub
Private Sub ModuleLevelProcedure(ByVal var1)
MsgBox var1 * GetRand
End Sub
Private Function GetRand()
GetRand = Int(100 * Rnd())
End Function
Sub PassArgumentByReference()
Dim Username As String
Username = "Mike"
ChangeName Username
MsgBox Username
End Sub
_________________
Sub ChangeName(ByRef Username)
Username = "Kate"
End Sub
Sub PassArgumentbyValue()
Dim Username As String
Username = "Mike"
ChangeName1 Username
MsgBox "Yet remains as " & Username & " in the original proc."
End Sub
_________________
Sub ChangeName1(ByVal Username)
MsgBox "The original name is " & Username & "."
Username = "Kate"
MsgBox "The name is changed to " & Username & " in the called proc."
End Sub
Option Base 1
Sub UsingArray()
Dim Vals(3) As Integer
Vals(1) = Int(100 * Rnd())
Vals(2) = Int(100 * Rnd())
Vals(3) = Int(100 * Rnd())
MsgBox "Lottery numbers: " & Vals(1) & ", " & Vals(2) & "," & Vals(3)
End Sub
Option Base 1
Sub Using2DVariantArray()
Dim Data2D(10, 3) As Variant
Data2D(1, 1) = "Kate"
Data2D(1, 2) = 43
Data2D(1, 3) = #4/15/1962#
MsgBox Data2D(1, 1) & ", age " & Data2D(1, 2) & ", born " & Data2D(1, 3)
End Sub
Контрольное задание
(Использование основных структур при написании программ на VBA.)
Примеры контрольных заданий
Что реализовано каждой строкой и каждым словом, предложенного программного кода?
Записать арифметическое выражение с использованием стандартных функций VBA.
1).
2).
Sub Proc()
var1 = GetRand
ModuleLevelProcedure var1
End Sub
Private Sub ModuleLevelProcedure(ByVal var1)
MsgBox var1 * GetRand
End Sub
Private Function GetRand()
GetRand = Int(100 * Rnd())
End Function
3).
Рядом с «MsgBox (var1)», «MsgBox (var2)», «MsgBox (var3)» записать результат вывода (число)
Sub Call_Function()
Dim var1 As Integer
Dim var2 As Integer
Dim var3 As Integer
var1 = 5
var2 = 10
MsgBox (var1)
MsgBox (var2)
var3 = Multiply(var1, var2)
MsgBox (var1)
MsgBox (var2)
MsgBox (var3)
End Sub
Function Multiply(ByRef var1 As Integer, ByRef var2 As Integer)
MsgBox (var1)
MsgBox (var2)
Multiply = var1 * var2
var1 = 55
var2 = 77
MsgBox (var1)
MsgBox (var2)
End Function
Приложение 2
Путь к обращению «Редактор Visual Basic. Excel 2010 »
Если в главном меню Excel отсутствует Разработчик (необходимый для работы с объектами VBA), то его надо установить.
а
Для установки Разработчика раскройте вкладку Файл главного меню.
б
Выберите пункт Параметры (см. рис. ниже).
в
В появившемся окне Параметры Excel выберите пункт Настройка ленты (см. рис. ниже).
г
В настройке ленты в меню «Выбрать команды» выберите пункт «Все вкладки» (см. рис. ниже).
д
Затем выбрать «Разработчик».
е
Нажать на кнопку «Добавить» и затем нажать на «OK».
ж
В главном меню Excel появится «Разработчик»
з
Раскрываем список Разработчика, вызываем VBA, далее работаем, как указано в методических материалах применительно к Excel 2003.
и
Рис. Пошаговая установка опции «Разработчик» в главном меню Excel
PAGE 2
Окно свойств
Окно проекта
Окно программного модуля
используется для записи строк программы на языке VBA