Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Макросы.doc
Скачиваний:
28
Добавлен:
21.11.2018
Размер:
16.91 Mб
Скачать

Выполнение процедуры

После создания процедуры вы можете ее сразу выполнить. Для этого существует несколько путей. Можно использовать команду Run Sub/UserForm (Выполнить подпрограмму/экранную форму) из меню Run (Выполнить) или щелкнуть на кнопке Run Sub/UserForm стандартной панели инструментов, или нажать клавишу <F5>. Итак, чтобы выполнить нашу процедуру, сделайте следующее.

  1. Щелкните на кнопке Run Sub/UserForm стандартной панели инструментов редактора Visual Basic. Процедура выполнится и отобразит окно сообщения (рис. 4.6).

  2. Щелкните на кнопке ОК. Вы вернетесь в окно редактора Visual Basic.

Рис. 4.6. Всего одна строка кода процедуры - в результате симпатичное окно сообщения!

Сохранение изменений в модуле

Чтобы сохранить новую процедуру, надо сохранить рабочую книгу, где находится эта процедура. Можно сохранить рабочую книгу из редактора Visual Basic. Для этого выполните следующие действия.

  1. Выполните команду File > Save Книга (Файл > Сохранить книгу). Если рабочая книга еще ни разу не сохранялась, дайте ей имя.

  2. Введите Первая в качестве имени книги и нажмите клавишу <Enter>. Рабочая книга, модуль и процедура будут сохранены.

Переменные

Переменная - это место хранения значений. Переменная содержит данные, которые могут быть разными в различные моменты выполнения приложения и могут изменяться во время выполнения приложения. Для иллюстрации "полезности" переменных напишем простую процедуру.

  1. Создайте новую процедуру с именем СкажиСвоеИмя.

  2. Введите следующий код процедуры:

InputBox "Введите Ваше имя"

Не беспокойтесь о синтаксисе оператора InputBox. Более подробно этот оператор будет рассмотрен в 6-м часе "Логика условных операторов".

  1. Нажмите клавишу <F5> для выполнения процедуры. Появится окно ввода, предлагающее ввести ваше имя.

  2. Введите свое имя и щелкните на кнопке ОК. Процедура закончится.

Где теперь ваше имя? Как найти и сохранить то, что пользователь ввел с помощью окна ввода? Вот для того и необходима переменная, чтобы сохранить все, что введет пользователь.

Типы данных

Первый шаг на пути использования переменных заключается в изучении типов данных. Тип данных переменной показывает, данные какого типа позволяет сохранять переменная. В табл. 4.1 приведен список типов данных, поддерживаемых VBA. В этой таблице также содержится информация о размере данных, т.е. об объеме памяти, выделяемом для хранения данных определенного типа.

Таблица 4.1. Типы данных VBA

Тип данных

Размер

Диапазон значений

Byte (байт)

1 байт

Целые числа от 0 до 255

Boolean (булевый, логический)

2 байта

ИСТИНА (True) ИЛИ ЛОЖЬ (False)

Integer (целое)

2 байта

Целые числа от -32768 до 32767

Long (длинное целое)

4 байта

Целые числа от -2147483648 до 2147483647

Single (одинарной точности)

4 байта

От -3,402823Е38 до -1,401298Е-45 для отрицательных чисел; от 1,401298Е-45 до 3,402823Е38 для положительных чисел

Double (двойной точности)

8 байт

От -1,79769313486232Е308 до -4,94065645841247Е-324 для отрицательных чисел; от 4,94065645841247Е-324 до 1,79769313486232Е308 для положительных чисел

Currency (денежный)

8 байт

От -922337203685477,5808 до 922337203685477,5807

Decimal (десятичный)

14 байт

±79228162514264337593543950335 без десятичных разрядов; +7,9228162514264337593543950335 с 28 десятичными разрядами

Date (дата)

8 байт

От 1 января 100 года до 31 декабря 9999 года

Object (объект)

4 байта

Ссылка на любой объект

String (строковый переменной длины)

10 байт + 1 байт на символ

От 0 до приблизительно 2 млрд. символов

String (строковый фиксированной длины)

Длина строки

От 0 до приблизительно 65400 символов

Variant (универсальный числовой)

16 байт

Любое числовое значение из диапазона типа Double

Variant (универсальный текстовый

22 байта + 1 байт на символ

Тот же диапазон, что и для строкового типа с переменной длиной

Отметим, что хороший программист всегда выбирает тип данных по возможности наименьшего размера. Например, если надо сохранить небольшое целое число, такое как число студентов в академической группе, то рационально выбрать тип Byte. Интересно, почему в этой ситуации Excel по умолчанию использует расточительный тип Single?