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

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

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

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

4

 

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

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

 

 

 

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

 

 

 

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

 

Double

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

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

8

 

ной точности

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

 

 

 

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

 

 

 

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

 

Currency

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

От –922 337 203 685 477.5808

8

(денежный)

ной точкой

до 922 337 203 685 477.5807

 

String

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

От 0 до 216

Длина

 

ны

 

строки

String

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

От 0 до 231

10 + длина

 

ны

 

строки

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 = 91 = 13.5. 2

1

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

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(“630091 Новосибирск”) возвра-

 

Функция Val прекращает

чтение строки

щает число 630091

 

на первом знаке, который она не может

Val(“630

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

 

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

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

 

 

 

 

Val(“630

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

 

 

 

 

число 630

 

 

 

 

Str

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

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

 

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

Пример:

 

 

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

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

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

8

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