Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_ukazaiya.pdf
Скачиваний:
12
Добавлен:
15.11.2022
Размер:
776.66 Кб
Скачать

1 ОСНОВЫ ПРОГРАММИРОВАНИЯ НА VBA

1.1 Типы данных

Любая программа оперирует с некоторыми данными, используемыми в расче- тах. Все данные должны быть описаны с помощью типов данных, определяющих возможный набор значений данных и допустимые операции над ними. Основные типы данных приведены в таблице 1.

Таблица 1 – Основные типы данных

 

 

 

Объем

Тип данных

Описание

Диапазон

памяти,

 

 

 

байт

Byte

Целое число

От 0 до 255

1

Integer

Целое число

От –32 768 до 32 767

2

Long

Длинное целое число

От –2 147 483 648

4

до 2 147 483 647

 

 

 

 

 

Для отрицательных чисел:

 

Single

Число с плавающей точкой

от –3,4Е38 до –1,4E–45.

4

одинарной точности

Для положительных чисел:

 

 

 

 

от 1,4E–45 до 3,4E38

 

 

 

Для отрицательных чисел:

 

Double

Число с плавающей точкой

от –1,7E308 до –4,9E–324.

8

двойной точности

Для положительных чисел:

 

 

 

 

от 4,9E–324 до 1,7E308

 

Currency

Число с фиксированной деся-

От –922 337 203 685 477.5808

8

(денежный)

тичной точкой

до 922 337 203 685 477.5807

 

String

Строка символов постоянной

От 0 до 216

Длина

длины

строки

 

 

 

Строка символов переменной

 

10 +

String

От 0 до 231

длина

длины

 

 

строки

 

 

 

Variant

Универсальный

Значения любого типа

от 16

Boolean

Логический

True или False

2

Date

Дата

От 1.01.100 г. до 31.12.9999 г.

8

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

4

Если тип данных не определен, то по умолчанию будет задан тип данных Variant. Данные, которые хранятся в Variant, изменяют свой тип в зависимости от того, какие операции над ними выполняются.

Данные в программе могут быть представлены в виде констант и пере-

менных.

Константа это именованная область памяти, используемая для хранения фиксированного значения, которое невозможно изменить при выполнении про- граммы.

Переменная это именованная область памяти, в которой могут храниться изменяющиеся значения.

Примеры:

– объявление константы

Const pi as single = 3.1459

– объявление переменных

Dim a as single, b as integer, c as byte

1.2 Требования к идентификаторам

Обращение к константам и переменным осуществляется по идентификаторам (именам), которые должны удовлетворять следующим требованиям:

начинаются с буквы;

не содержат точки, @, #, %, &, !, $, пробел;

длина не более 255 символов;

не являются ключевыми словами языка VBA (именами операций, операто- ров, встроенных функций);

должны быть уникальны внутри области, в которой они определены. Правильные имена: А; Ф1; Prog_1; Баланс.

Неправильные имена: 1А; Prog 1; Баланс#; sin.

5

1.3 Приоритет выполнения операций

Приоритет выполнения операций определяет последовательность вычислений в программе (таблица 2). Изменить порядок вычисления можно с помощью скобок. Максимальный приоритет – 1, минимальный – 13.

Таблица 2 – Приоритет выполнения операций

 

 

Знак

 

Пример

Возвращаемое значение

Приоритет

Описание

вычисляемого

при a = 5; b = 2;

операции

 

 

 

 

 

выражения

с = true; d = false

 

 

 

 

Математические операции

 

1

 

 

 

Вызов функции и скобки

 

 

2

 

^

 

Возведение в степень

a ^ b

25

3

 

Cмена знака

a

–5

4

 

*

 

Умножение

a * b

10

 

/

 

Деление

a / b

2.5

 

 

 

5

 

\

 

Целочисленное деление

a \ b

2

6

 

mod

Остаток от деления по модулю

a mod b

1

7

 

+

 

Сложение

a + b

7

 

Вычитание

a b

3

 

 

8

 

&

 

Объединение строк

a & b

52

 

 

 

 

Операции отношения

 

 

 

<

 

Меньше

a < b

false

 

 

>

 

Больше

a > b

true

9

 

<=

 

Меньше или равно

a <= b

false

 

>=

 

Больше или равно

a >= b

true

 

 

 

 

 

<>

 

Не равно

a <> b

true

 

 

=

 

Равно

a = b

false

 

 

 

 

Логические операции

 

10

 

Not

 

Логическое отрицание

Not©

false

11

 

And

 

Логическое умножение

c and d

false

 

 

(конъюнкция) (И)

 

 

 

 

 

 

12

 

Or

 

Логическое сложение

c or d

true

 

 

(дизъюнкция) (ИЛИ)

 

 

 

 

 

 

13

 

Xor

 

Исключающее or

c xor d

true

Пример:

 

 

 

 

3 * 9 ^ 1/2 = 3

91

= 13.5.

 

 

 

2

 

 

 

 

 

1

 

Типичная ошибка – 3 * 9 ^ 1/2 = 3 9

 

= 3 3 = 9.

2

6

1.4 Встроенные функции

В VBA есть ряд встроенных функций, упрощающих вычисления и операции. Информация по ним приведена в справочной системе VB (Visual Basic).

Чтобы получить список функций VBA при написании кода, введите VBA и точку (.). VB отображает список всех вложенных объектов, включая функции. Функции обозначаются зеленым значком (рисунок 1).

Рисунок 1 Функции VBA

При написании программы также можно использовать большинство функций рабочего листа Microsoft Excel.

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

ку ввести List и нажать кнопку (начать поиск). В окне справки Microsoft Visual

Basic выбрать раздел . В появившемся списке всех доступных функций выбрать нужную.

В Visual Basic функции рабочего листа (worksheet ) Microsoft Excel доступны через объект WorksheetFunction.

Некоторые функции приведены в таблицах 3, 4.

Таблица 3 – Математические функции

Функция

Возвращаемое значение

Код в программе

 

 

 

Abs

Модуль

Abs(числ. выражение)

 

 

 

Acos

Арккосинус

WorksheetFunction.Acos(числ. выражение)

 

 

 

Asin

Арксинус

WorksheetFunction.Asin(числ. выражение)

 

 

 

Atn

Арктангенс

Atn(числ. выражение)

 

 

 

Cos

Косинус

Cos(числ. выражение)

 

 

 

7

Окончание таблицы 3

Функция

Возвращаемое значение

Код в программе

 

 

 

Exp

Экспонента

Exp(числ. выражение)

 

 

Примеры:

 

 

e записывается как exp(1)

 

 

ea записывается как exp(a)

 

 

 

Fix

Целое значение (дробная

Fix(числ. выражение)

 

часть отбрасывается)*

 

 

 

 

Int

Целое значение (дробная

Int(числ. выражение)

 

часть отбрасывается)*

 

 

 

 

Log10

Десятичный логарифм

WorksheetFunction.Log10(числ. выражение)

 

 

 

Ln

Натуральный логарифм

WorksheetFunction.Ln(числ. выражение)

 

 

 

Sin

Синус

Sin(числ. выражение)

 

 

 

Sqr

Квадратный корень

Sqr(числ. выражение)

 

 

 

Tan

Тангенс

Tan(числ. выражение)

 

 

 

* Различие между функциями Int и Fix состоит в том, что для отрицательного значения ар- гумента функция Int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, а Fix – ближайшее отрицательное целое число, большее либо равное указанному. На- пример, функция Int преобразует –5.4 в –6, а функция Fix преобразует –5.4 в –5.

Таблица 4 – Функции преобразования форматов

Функци

Возвращаемое значение

 

Код в программе

я

 

 

 

 

 

 

Val

Возвращает числа, содержащиеся в стро-

Val (строковое выражение)

 

ке, как числовое значение соответст-

Примеры:

 

 

вующего типа. Функция Val прекращает

Val(”630091 Новосибирск”) воз-

 

чтение строки на первом знаке, который

вращает число 630091

 

она не может распознать как часть числa

Val(”630

091 Новосибирск”)

 

 

возвращает число 630091

 

 

Val(”630

and 091”) возвращает

 

 

число 630

 

 

 

 

Str

Представляет возвращаемое числовое

Str (числовое выражение)

 

значение как String. В качестве допус-

Пример:

 

 

тимого десятичного разделителя функ-

Str(–459.65) возвращает –459.65

 

ция воспринимает только точку

 

 

 

 

 

 

8

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]