- •Свойства размещения и размера элемента:
- •Текстовое поле - TextBox
- •Кнопка Command Button. Свойства:
- •Понятие программного кода
- •Окно программного кода
- •Процедуры
- •Структура процедуры
- •Создание процедуры
- •Вызов процедур на исполнение
- •Практическое задание №1
- •Типы данных, которыми оперирует vba
- •Переменные
- •Объявление переменных
- •Массивы
- •Пользовательские типы данных
- •Операторы присваивания
- •Комментарии
- •Операции vba
- •Математические функции vba
- •Строковые функции
- •Функции даты и времени
- •Преобразование типов данных
- •Создание и применение процедур и функций.
- •Передача процедуре величин
- •Использование списка поименованных аргументов
- •Создание и применение функций
- •Операторы тела функции
- •Управление выполненем программы
- •Логические функции
- •If Выражение_1 Then
- •If Выражение_2 Then
- •If Выражение_3 Then
Создание процедуры
Для создания процедуры выполните следующее:
1 способ - дважды щелкните по нужному элементу управления или форме. Откроется окно кода, а в нем появится заголовок и окончание процедуры. Если необходимо другое событие, то его выбирают с помощью списка в верхнем правом углу окна кода.
2 способ - откройте окно кода, выполните Инструменты → Добавить процедуру → укажите имя и параметры процедуры → Ok.
3 способ - откройте окно кода и введите нужные строки с клавиатуры.
В результате должно получиться: Private Sub Command1_Click( ) End Sub
Вызов процедур на исполнение
Чтобы выполнилась процедура обработки события, это событие должно произойти.
Для выполнения произвольной процедуры в теле другой процедуры указывают имя этой процедуры. Private Sub Command1_Click( )
Kvadrat
End Sub Здесь при нажатии на кнопку Command1 возникает событие Click (щелчок мышью) и вызывается и выполняется процедура Kvadrat.
Код процедуры выполняется построчно и сверху вниз.
Практическое задание №1
Создайте новый проект, добавьте на форму кнопку, дважды щелкните по ней. Рассмотрите заголовок и окончание процедуры, между ними впишите строку: MsgBox "Процедура выполнена"
Запустите программу, щелкните по кнопке Command1, проверьте работу программы.
Создайте произвольную процедуру, для этого в Окне кода ниже кода имеющейся процедуры допишите код: Sub Proc ()
MsgBox "Вторая процедура выполнена"
End Sub Запустите программу, щелкните по кнопке Command1. Ничего нового не происходит, т.к. вторая процедура не вызвана. Добавьте в первую процедуру перед ее окончанием пустую строку и впишите в нее наименование второй процедуры (без скобок). Запустите программу, щелкните по кнопке Command1.
Типы данных, которыми оперирует vba
Visual Basic имеет 11 встроенных типов данных:
Тип данных |
Размер в байтах |
Разрядность цифр |
Диапазон значений |
Boolean |
2 |
1 |
True или False (да - нет, включен - отключен) |
Integer |
2 |
5 |
От (-32768) до 32768 |
Long |
4 |
10 |
От (-2147483648) до 2147483647 |
Single |
4 |
7 |
От (–3.402823Е+38) до (–1.401298Е-45) и от 1.401298Е-45 до 3.402823Е+38 |
Double |
8 |
15 |
От ± 1.79769313486232Е+308 до ± 4.94065645841247Е-324 |
Currency |
8 |
19 |
От (–922337203685477.5808) до 922337203685477.5807 |
Date |
8 |
- |
От 01.01.100 до 31.12.9999 |
String |
1 |
+1 |
на любой символ - От 0 до 65535 символов |
Object |
4 |
- |
Любой объект |
Array |
Определяется количеством и размером элементов |
- |
- |
Variant |
Определяется записанными данными |
- |
Любой из встроенных типов данных |
Тип данных определяет, каким образом задаваемая величина хранится в памяти компьютера; сколько разрядов может содержать присваиваемое ей значение; насколько оно может быть велико и может ли иметь дробную часть.
Тип Boolean использует для хранения значения 2 байта памяти – как и тип Integer, хотя может принимать значения либо 0 (ложь - False), либо (True – правда). Для хранения этой информации достаточно 1 бита, а занимается 16 бит. Это решение было принято Microsoft для достижения совместимости типа Boolean с другими типами при выполнении расчетов.
Тип данных Integer предназначен для хранения смещенного целого числа, т.е. с указанием знака числа “+” или “-”. Из 16 бит 1 используется для хранения знака, а остальные – для значащих цифр.
Тип данных Long используется для хранения смещенного целого числа с двойным разрешением по сравнению с Integer и, соответственно, занимает в два раза больше памяти. Из 32, занимаемых в памяти бит, 1 предназначается для хранения знака, 31 – для хранения самого числа.
Такой тип не очень удобен при ведении денежных расчетов, так как имеет всего семь значащих цифр. Если оставить два из них для расчета копеек, то верхняя граница числа в этом случае будет 34028.23 руб. коп.
Тип данных Double – предназначен для хранения действительного числа с плавающей точкой двойной точности по отношению к Single. Для хранения требует вдвое больше памяти, но и диапазон значений расширяется в 8 раз.
Тип данных Currency предназначен для хранения действительного числа с фиксированной точкой, которая всегда располагается между 4 и 5 цифрами справа.
ПРИМЕР: 0.0021 46.7280 Этот тип специально предназначен для получения минимальных ошибок округления и чаще всего используется в бухгалтерских расчетах. В частности, даже используя тип Double можно получить число 3.999 999 999 вместо 4.000 000 000, что дает погрешность, которая может оказаться существенной при больших объемах денежных расчетов.
Тип данных Date предназначен для хранения дат и времени с точностью до секунды.
Машиной даты записываются следующим образом: целая часть – количество дней, прошедших от начала отсчета 01.01.1900, а дробная часть – время.
Пример: 05.03.1994 18.00 запишется как 34398.75. При работе с Excel следует помнить, что в нем диапазон используемых дат – от 01.01.1900 до 31.12.2078. Сам VBA позволяет оперировать датами в диапазоне 01.01.100 – 31.12.9999
Тип данных String используется для хранения текста по одному байту на символ, добавляя к этому количеству еще один – для обозначения конца строки.
Тип данных Object предназначен для ссылок на любой объект VBA
Тип данных Array определяет индексный список величин одного и других типов - массив.
Тип данных Variant используется по умолчанию. Он задается VBA, если вы сами не укажете этот тип. При этом производится проверка значения, вводимого в память и его идентификация, поэтому резко возрастает и время выполнения программы, и объем памяти.