- •Программирование в Visual Basic for Application (vba) лабораторная работа №1
- •1Введение
- •2Система программирования vba
- •2.1Загрузка системы программирования vba из Microsoft Excel
- •2.2Окно проектов
- •2.3Проекты и программные модули
- •2.4Переход на нужный программный модуль
- •2.5Создание нового программного модуля
- •2.6Панель инструментов Standart (Стандартная)
- •2.7Панель инструментов Debug. (Отладка)
- •2.8Окна отладки
- •3Основы программирования на vba
- •3.1Структура программы на vba
- •3.2Правила именования элементов программы
- •3.3Процедура
- •3.4Типы данных и константы
- •4Текстовый тип данных string
- •4.1Оператор вывода данных в окно отладочной выдачи
- •4.2Операция слияния текстовых данных
- •4.3Оператор именования констант
- •4.4Встроенная функция Mid – выделения из текстового данного его части
- •4.5Переменные. Оператор объявления переменных
- •4.6Переменные. Оператор присваивания значения переменной. Выражения
- •4.7Доступ из программы к ячейкам листов Excel
- •4.8Интерактивное взаимодействие с пользователем программы. Функция InputBox. Процедура MsgBox
- •4.9Сообщения, разбитые на несколько строк
- •5Задание
4.5Переменные. Оператор объявления переменных
Переменная - это область памяти компьютера для хранения данных. Все переменные должны быть заранее объявлены. При объявлении переменной указывается, какой тип данных в ней хранится. В отличие от констант значение переменной можно менять в любое время.
Переменная объявляется в программе при помощи оператора объявления переменных:
Dim Имя1 As ТипДанных1 , Имя2 As ТипДанных2,..
где ИмяN - имя переменной, а ТипДанныхN - тип её данных. Для каждой (!) объявляемой в операторе Dim переменной необходимо использовать отдельное предложение As TypeN. Например,
Dim g As Single, h As Single, j As Integer
Dim i As Single
Оператор Dim можно располагать в любом месте процедуры, но до первого использования объявляемых переменных. Лучше всего располагать все операторы объявления переменных в начале процедуры.
4.6Переменные. Оператор присваивания значения переменной. Выражения
Оператор присваивания назначает результат вычисления некоторого выражения переменной.
Выражение есть программная конструкция, указывающая правило вычисления нового значения переменной. В частности, выражением может быть константа; имя переменной; комбинация констант, имен переменных и операций для получения искомой величины. Если в выражении встречается некоторое имя переменной, то оно означает ее значение (т.е. данное, которое хранится в ней в текущий момент).
Выражение и переменная должны быть совместимы по типу данных. Оператор присваивания содержит знак присваивания = и имеет следующий вид:
Переменная = выражение
Текстовые выражения составляются из
· текстовых констант;
· имен переменных текстового типа;
· текстовых операций;
· обращение к функции (вычисление функции). Имеет вид имяФункции (списокАргументовФункцииЧерезЗапятую),
· слияние строк (&).
· круглых скобок (управляющих последовательностью вычислений).
ВЫПОЛНИТЬ
В модуле листа Лист1 наберите
Sub s06()
Const A1 = "1-й текст", A2 = "2-й текст"
Dim S As String
S = A1
Debug.Print S
S = A2
Debug.Print S
S = A1 & "----" & A2
Debug.Print S
End Sub
Выполните процедуру в пошаговом режиме.
В окне локальных данных можно видеть как меняется значение текстовой переменной S
ВЫПОЛНИТЬ
В модуле листа Лист1 наберите пример с более сложными выражениями в операторах присваивания
Sub s07()
Const A1 = "1-й текст", A2 = "2-й текст"
Dim S As String, S2 As String
Dim S3 As String
S = A1
Debug.Print S
S2 = Mid(S, 2, 3)
Debug.Print S2
S3 = A1 & "----" & S2
Debug.Print S3
S = S2 & S3
Debug.Print S
S = S & "===" & S
Debug.Print S
End Sub
Выполните процедуру в пошаговом режиме.
4.7Доступ из программы к ячейкам листов Excel
Для доступа из программы к значениям, хранящимся в ячейках некоторого листа, применяется одна из двух следующих комбинаций:
Sheets(НазваниеЛиста).Range(НазваниеЯчейки).Value
Sheets(НазваниеЛиста).Cells(НомерСтроки,НомерСтолбца).Value
которые могут находиться как в левой, так и в правой частях оператора присваивания так как будто это обычные имена переменных.
Здесь,
НазваниеЛиста – текстовое выражение, которое задает имя листа. Например, "Лист1"
НазваниеЯчейки – текстовое выражение, которое задает ячейку листа. Например, "A7" или "A" & "7"
Примеры |
||
Sheets("Лист1").Range("A7").Value = 7 |
в ячейку А7 листа 1 записывается число 7 |
|
Sheets("Лист2").Cells(6,7).Value="Пример" |
в 7 ячейку 6 строки листа Лист2 записывается слово “Пример” |
|
h = Sheets("Лист2").Cells(3,l).Value |
переменной h присваивается значение ячейки из строки с номером 3 и столбца с номером l листа Лист2 |
ВЫПОЛНИТЬ
Занесите в ячейку A1 листа Лист1 значение Текст11
Занесите в ячейку B2 листа Лист1 значение Текст22
В модуле листа Лист1 наберите
Sub s08()
Const L1 = "Лист1", A1 = "A1"
Dim S As String, S2 As String
Sheets("Лист1").Range("B1").Value = "Текст12"
Sheets(L1).Cells(2, 1) = "Текст21"
S = Sheets(L1).Range(A1).Value
S2 = Sheets("Лист1").Cells(2, 2).Value
Debug.Print S
Debug.Print S2
End Sub
Выполните процедуру в пошаговом режиме.
Посмотрите как изменились ячейки B1 и A2 на листе Лист1