Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Му макросы и VBA

.pdf
Скачиваний:
11
Добавлен:
15.03.2016
Размер:
234.79 Кб
Скачать

21

3 Крейг Д.К. Уэбб Дж. Microsoft Visual Basic 5.0 Мастерская разработчика. Пер. с англ. 4-е изд. 1998 Издательский отдел Русская редакцияТОО “Channel Trading Ltd.” М.

22

Типы данных

 

 

 

 

Приложение А

 

 

 

 

 

 

 

Фундаментальные типы данных, поддерживаемые Visual Basic:

 

 

 

 

 

 

 

 

 

 

Тип данных

Описание

 

 

 

Диапазон

 

 

Byte

1-байтовое двоичное число

от 0 до 255

 

 

Integer

2-байтовое целое

 

от –32768 до 32767

 

 

Long

4-байтовое целое

 

от

–2147483648

до

 

 

 

 

 

 

2147483647

 

 

Single

4-байтовое

 

число

с

от –3.402823E38 до

 

 

 

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

 

–1.401298E-45

 

 

 

 

 

 

 

(отрицательные значения)

 

 

 

 

 

 

от

1.401298E-45

до

 

 

 

 

 

 

3.402823E38

 

 

 

 

 

 

 

(положительные значения)

 

Double

8-байтовое

 

число

с

от –1.79769313486231E308

 

 

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

 

до-4.94065645841247E-324

 

 

 

 

 

 

(отрицательные значения)

 

 

 

 

 

 

от 4.94065645841247E-324

 

 

 

 

 

 

до

1.79769313486231E308

 

 

 

 

 

 

(положительные значения)

 

Currency

8-байтовое

 

число

с

от –922337203685477.5808

 

 

фиксированной

десятичной

до 922337203685477.5807

 

 

точкой

 

 

 

 

 

 

 

String

Строка символов

 

от нуля до почти двух

 

 

 

 

 

 

миллиардов символов

 

 

Variant

дата/время,

 

число

с

даты: от 1 января 100 года

 

 

плавающей точкой, целое,

до 31 декабря 9999 года;

 

 

строка или объект; занимает

числовые значения: тот же

 

 

16 байтов плюс по 1 байту на

диапазон, что и для

 

 

каждый

символ,

если

Double; строки: тот же

 

 

значением является строка

диапазон, что и для String;

 

 

 

 

 

 

позволяет так же хранить

 

 

 

 

 

 

значения Error или Null

 

 

Boolean

2 байта

 

 

 

True или False

 

 

Date

8-байтовое

 

значение

от 1 января 100 года до 31

 

 

даты/времени

 

 

декабря 9999 года

 

 

Object

4 байта

 

 

 

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

 

 

Переменные, константы и массивы

Как в любом языке программирования высокого уровня для хранения значений используются переменные и константы.

23

Константы объявляются оператором Const: Const p=456

Public Const Strin=”help” (открытая константа)

Private Const int As Integer=5 (закрытая константа, явно задан тип)

Переменные объявляются с помощью ключевых слов Dim, Public, Private, Static:

Private i

Dim a

Static newstr As String

Public newstr1 As string, b As Currency

Private t, k, j As Integer (j как целая, а t, k - variant)

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

Массивы объявляются аналогично переменной, но указывается нижняя и верхняя граница каждой размерности, размерностей может быть до 60, по умолчанию нижняя граница – 0.

Dim mas(14) As Integer Dim sum(20) As Double

Dim sums(1 to 100) As String

Dim bigmas(1 to 5, 1 to 10, 1 to 20)

Управляющие конструкции

В отсутствие управляющих конструкций программа выполняется последовательно. Для изменения последовательного выполнения используются операторы ветвления и цикла.

Операторы ветвления

Формат

Примеры

If … Then

If j<0 Then j=0

 

If j>5 Then k=k+10

 

J=0

 

End If

If … Then … Else

If k<10 Then

 

k=k+10

 

Else

 

k=k-10

 

End If

If … Then … ElseIf

If j=1 Then

 

k=k+1

 

ElseIf j=2 Then

 

k=k*2

 

ElseIf j=5 Then

24

 

 

 

k=k*10

 

 

 

End If

 

Else k=0

 

 

 

 

 

 

 

Select Case

Select Case k

 

 

 

 

 

Case 1

 

 

 

 

 

j=j*0.1

 

 

 

 

 

Case 2,3

 

 

 

 

j=j*0.01

 

 

 

 

Case 5 to 10

 

 

 

 

j=100

 

 

 

 

 

Case Else

 

 

 

 

j=0

 

 

 

 

 

End Select

 

 

 

 

Операторы циклов

 

 

 

 

 

 

 

 

 

 

Формат

Примеры

 

 

 

 

Do … Loop

Общий вид оператора для неопределенного числа

 

повторений

 

 

 

 

Do While … Loop

Выполняется пока условие истинно

 

 

 

Do While c<10

 

 

 

 

 

k=k*c

 

 

 

 

c=c+1

 

 

 

 

Loop

 

 

 

 

Do Until … Loop

Выполняется, пока условие ложно

 

 

 

Do Until c>10

 

 

 

 

 

k=k*c

 

 

 

 

 

c=c+1

 

 

 

 

 

Loop

 

 

 

 

Do … Loop While

Выполняется пока условие истинно (хотя бы один

 

раз)

 

 

 

 

Do … Loop Until

Выполняется пока условие ложно (хотя бы один

 

раз)

 

 

 

 

For … Next

Выполняется определенное число раз, по

 

умолчанию, шаг изменения 1, если другой шаг

 

step 2, например, или step –3.

 

 

 

Например,

код

перебирает

все

ячейки

 

диапазонаA1:D10 на листе Sheet1, если ячейка

 

содержит значение 0,01, оно заменяется на 0.

 

 

Sub RoundToZero()

 

 

 

 

For rwIndex=1 to 4

 

 

 

 

For colIndex=1 to 10

 

 

 

If Worksheets(“Sheet1”).Cells _

 

 

(rwIndex, colIndex)< .01 Then

 

25

 

WorkSheets(“Sheet1”).Cells _

 

 

(rwIndex, colIndex).Value=0

 

 

 

End If

 

 

 

 

 

Next colIndex

 

 

 

 

Next rwIndex

 

 

 

 

 

End Sub

 

 

 

 

For Each … Next

Выполняет цикл для каждого элемента или объекта,

 

даже если заранее не известно их число.

 

 

Например,

код

перебирает

все

ячейки

 

диапазонаA1:D10 на листе Sheet1, если ячейка

 

содержит значение 0,01, оно заменяется на 0.

 

 

Sub RoundToZerg()

 

 

 

 

For Each r In Worksheets(“Sheet1”). _

 

Range(“A1:D10”).Cells

 

 

 

 

If Abs(r.Value)<0.01 Then

 

 

 

End If

 

r.Value=0

 

 

 

 

 

 

 

 

Next r

 

 

 

 

 

End Sub

 

 

 

 

Управляющие конструкции можно включать друг в друга как в вышеописанных примерах.

26

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

В ПРИЛОЖЕНИИ MS OFFICE – EXCEL

Лабораторная работа

По курсу Технологии организации, хранения и обработки данных

Методические указания для студентов специальности

Э.01.07.01 “Бухгалтерский учет, анализ и аудит

дневной и заочной форм обучения

Составитель Пивоварчик Виктория Александровна

Редактор:

Технический редактор:

Е.С. Попова

Подписано в печать_____________________ Формат 60х84

1/16

Печать офсетная. Усл. Печ.л.______________Уч. Изд.л._____________

Тираж_______________Заказ_________________Бесплатно Лицензия №226 от12.02.1998 г.

Отпечатано на ротапринте МТИ 212027, г. Могилев, пр-т Шмидта,3