- •Содержание
- •Введение
- •1 Основные понятия языка программирования vba
- •1.1 Элементы языка
- •1.2 Константы
- •1.3 Идентификаторы
- •StrMyName, I, intNumOne, Номер, Max_Len и т.П.
- •1.4 Переменные
- •1.5 Выражения и операции
- •1.6 Массивы
- •1.7 Строки
- •2 Структура программы на vba
- •2.1 Оператор комментария
- •2.2 Оператор присваивания
- •2.3 Оператор вывода и диалоговые окна ввода/вывода информации
- •2.4 Оператор безусловного перехода
- •2.5 Оператор условного перехода
- •2.6 Оператор множественного выбора
- •2.7 Операторы цикла
- •If условие Then Exit For
- •If условие Then Exit Do
- •2.8 Обработка информационных массивов
- •2.9 Процедуры и функции
- •2.10 Обработка строковой информации
- •3 Элементы среды разработки vba
- •3.1 Панель инструментов Стандартная
- •3.2 Элементы управления
- •Лабораторная работа №1 Тема: Инструментальная среда языка программирования vba
- •1) Активизируйте редактор vba.
- •2) Ознакомьтесь с интерфейсом редактора vba.
- •3) Добавьте в окно проекта Стандартный модуль командой меню Вставка/Модуль (Insert/Module).
- •4) Добавьте Форму в окно проекта командой меню Вставка/ UserForm (Insert/ UserForm).
- •Лабораторная работа №2 Тема: Разработка программ линейной структуры в среде vba
- •1) Способ представления алгоритма в виде блок-схемы.
- •2) Линейная структура программы в vba.
- •5) Выполните ввод числовых значений:
- •6) Программа выведет на экран монитора диалоговое окно с результатом вычислений:
- •Индивидуальные задания для самостоятельной работы
- •Задание 1. По предложенной блок-схеме разработать программу. Используя функцию Round, округлить результаты вычислений.
- •Варианты задания 3
- •Лабораторная работа №3 Тема: Разработка программ разветвленной структуры в среде vba
- •1) Понятие разветвленной вычислительной структуры.
- •Индивидуальные задания для самостоятельной работы
- •Лабораторная работа № 4 Тема: Разработка программ циклической структуры в среде vba
- •1) Понятие циклического вычислительного процесса.
- •2) Реализовать данную программу в среде vba Microsoft Excel:
- •3) Внести изменения в программу Пример4 так, чтобы было возможно вычисление суммы любого количества чисел «2».
- •4) Реализовать данную программу в среде vba Microsoft Excel:
- •7) Реализовать данную программу (рис. 22) в среде vba Microsoft Excel. Выполнить вывод заголовков и результатов в окно Immediate:
- •Индивидуальные задания для самостоятельной работы
- •Лабораторная работа № 5 Тема: Разработка программ обработки информационных массивов в среде vba
- •1) Порядок обработки информационного массива.
- •4) Реализовать данную программу в среде vba Microsoft Excel:
- •Лабораторная работа №6 Тема: Разработка программ смешанной структуры в среде vba
- •2) Реализовать данную программу в среде vba Microsoft Excel:
- •Индивидуальные задания для самостоятельной работы
- •Блок-схема алгоритма:
- •Литература
- •Правила изображения блок-схем
- •Указатель
1.6 Массивы
Массивом называется упорядоченная последовательность элементов одного типа, обращение к которым осуществляется при помощи его имени и индекса (т.е. порядкового номера элемента). Примерами массива могут служить: последовательности заработных плат по табельным номерам работников; таблица выпуска различного вида продукции по месяцам года.
У каждого массива определены нижняя и верхняя границы, в пределах которых может изменяться значение индекса. По умолчанию нижней границей любого массива является 0. Количество элементов содержащихся в массиве называется его размерностью.
Существует две разновидности массивов: статические и динамические.
Статические массивы. При объявлении такого массива значения его верхней и нижней границ не могут быть изменены в программе.
Данный вид массивов описывается так же, как и переменные - при помощи одного из служебных слов: Dim, Private, Public или Static с последующим указанием типа после служебного слова As. При этом может быть указана как верхняя граница, так и обе границы одновременно, например:
Dim arrA(9) As Integer
Dim arrB(l To 10) As Single
В данном случае оба массива содержат одно и то же количество элементов одинакового типа. Однако нумерация элементов аrrА начинается с нуля, в то время как нумерация аrrВ - с единицы. Для явного указания границ следует использовать служебное слово То, в то время как при описании стандартного массива с нумерацией элементов от нуля необходимо просто указать значение верхней границы.
Массивы бывают одномерными и многомерными. Для описания многомерных массивов используются конструкции, аналогичные рассмотренным, однако отличие состоит в том, что границы размерностей указываются через запятую, например:
Dim arrA(3, 4) As Integer ‘Объявлена таблица 4 строки, 5 столбцов
Dim arrB(l To 4, 1 To 5) As Single ‘Объявлена таблица 4 строки, 5 столбцов
В данном примере объявленные массивы являются двумерными и содержат одинаковое количество элементов, нумерация которых отличается: arrA нумеруется начиная с нуля, аrrВ - начиная с единицы.
Динамические массивы используются в том случае, когда количество элементов массива заранее неизвестно и будет определяться в процессе выполнения программы.
Описание динамических массивов осуществляется в два этапа:
Объявить массив с использованием одного из служебных слов, например Dim, но без указания размерности (или размерностей).
В нужном месте процедуры описать данный массив с требуемым значением для размерности при помощи оператора ReDim. Например:
Dim arrA ( ) As Integer ‘Описание типа массива
n = InputBox(“Введите размерность массива”) ‘Ввод значения размерно сти в диалоговое окно ввода
ReDim arrA(5) As Integer ‘Указание размерности
При указании значений для размерностей динамического массива оператором ReDim его тип не может быть изменен, т.е. он должен совпадать с тем, который объявлен в операторе Dim, иначе на стадии компиляции программы будет выдано сообщение об ошибке.
При помощи оператора ReDim в любом месте программы можно устанавливать любые значения границ и количество размерностей, а также менять любой из установленных параметров, как в сторону увеличения, так и в сторону уменьшения.
Кроме того, при каждом выполнении оператора ReDim все значения элементов массива, которые до этого в нем хранились, обнуляются.