Вы находитесь на странице: 1из 17

Содержание

Введение…………………………….…………………………..…...2

1 Представление данных в памяти……………….……..…..…4

2 Типы данных………………………………………….…..…….6

3 Массивы……………………………………………..….….……9

4 Операторы цикла………………………………………………10

5 Элементы управления………………………………………....11

6 Задание…………………………………………………………...14

7 Список используемой литературы……………………….…..17


Введение
VBA – относительно лёгкий язык программирования. Он прост в
освоении и позволяет быстро получать результаты – конструировать
приложения, решающие множество задач в среде Windows.При этом
создание приложений на языке VBA проще и быстрее, чем при помощи
других языков программирования.

VBA использует технологию визуального программирования-


конструирование приложения и элементов его управления на экране.

Язык VBA является современным диалектом языка программирования


BASIC, который был создан в начале 60-х годов.

С годами первоначальная структура и спецификация BASIC были


улучшены. По мере совершенствования и изменения технологии для
языков программирования различные создатели программного
обеспечения добавляли некоторые возможности к первоначальному
BASIC.

Версии языка BASIC создавались (и всё ещё создаются) для


использования на всех типах компьютеров. Версия Microsoft GWBASIC
была одним из первых языков программирования, доступных для
компьютеров, которые эволюционировали в современные персональные
компьютеры.

В конце 80-х Microsoft опубликовала улучшенную версию языка BASIC,


названную Quick BASIC. Эта версия включала почти все возможности
современных систем разработки программного обеспечения.

В 1992 году Microsoft представила Visual Basic for Windows. Visual Basic
for windows был дополнен современными возможностями и интегрирован
в среду Windows/ Visual Basic предоставляет команды для создания и
управления необходимыми элементами программы в Windows:
Диалоговыми окнами, линейками меню, раскрывающимися списками,
флажками, панелями инструментов и многим другим.Visual Basic
2
является существенно новым языком программирования для Windows со
своими корнями в BASIC.

Параллельно с развитием и улучшением языка BASIC развивались и


средства записи макросов в приложениях. С годами макросы
приложений становились всё более совершенными и сложными,
удовлетворяя потребности пользователей.

Языки макросов производства разных компаний существенно отличались


один от другого. Нередко пользователю приходилось изучать несколько
таких языков. Вскоре Microsoft начала включать элементы языка BASIC в
макроязыки своих продуктов. Например, для Access фирмы Microsoft –
AccessBASIC.

Для унификации макроязыков в своих приложениях Microsoft создала


специальную версию языка Visual Basic for Application (VBA). Excel 5 был
первым продуктом, включающим Visual Basic for Application (VBA).

Таким образом VBA является одним из самых простых в использовании


языков программирования.

3
1. Представление данных в памяти
Данные - величины, обрабатываемые программой. Имеется три
основных вида данных: константы, переменные и массивы.
Константы - это данные, которые зафиксированы в тексте программы
и не изменяются в процессе ее выполнения. Константы представляются
в виде лексем, изображающих фиксированные числовые, логические,
символьные или строковые значения.
Числовые константы могут быть целыми, вещественными (с
фиксированной или плавающей точкой) и перечислимыми.
Целые константы могут быть десятичными, восьмеричными и
шестнадцатиричными. Десятичная целая константа определена как
последовательность десятичных чисел, начинающаяся не с нуля, если
это не число нуль. Восьмеричные константы в Visual Basic for Application
начинаются с префикса &O и содержат числа от 0 до 7.
Шестнадцатиричные числа начинаются с префикса &H и содержат
числа от 0 до 9 и латинские буквы от A до F.
Примеры констант: 123, &O247, &H1F.
Вещественные константы записываются в десятичной системе
счисления и в общем случае содержат целую часть (десятичная целая
константа), десятичную точку, дробную часть (десятичная целая
константа), признак (символ) экспоненты E и показатель десятичной
степени (десятичная целая константа, возможно со знаком).
Примеры констант: 123.456, 3.402823E38.
Перечислимые константы - это набор обычных целочисленных
констант. Перечисляемый набор может содержать конечный набор
уникальных целых значений, каждое из которых имеет особый смысл в
текущем контексте. Перечисляемые наборы являются удобным
инструментом, обеспечивающим выбор из ограниченного набора
параметров. Например, если пользователь должен выбрать цвет из
списка, то можно установить соответствие: черный = 0, белый = 1 и т.д.
Логические (булевы) константы могут иметь лишь одно из двух
значений: да (истина, TRUE), нет (ложь, FALSE).
Символьные и строковые константы. В отличие от большинства
языков программирования, где существуют отдельно символьные
(содержащие один символ алфавита) и строковые (массив символов)
константы, в VBA существуют только строковые, имеющие два типа
значений:

4
Строки переменной длины, которые могут содержать до
приблизительно 2 миллиардов (2^31) символов.
Строки постоянной длины, которые могут содержать от 1 до
приблизительно 64K (2^16) символов.
Примеры строковых констант: "abcde", "информатика", "" (пустая
строка).
В зависимости от значения константы по разному представляются в
памяти ПК. Целые представляют последовательный набор
фиксированного количества байтов, а вещественные, даже не
отличаясь от целых по значению, имеют другую форму внутреннего
представления, обусловленную применением арифметики с плавающей
точкой при операциях с такими константами и представлением
вещественного числа. В общем случае форма представления данных в
памяти ПК определяется типом данных.

2. Типы данных

5
Тип данных определяет, каким образом биты данных,
представляющие конкретное значение, хранятся в памяти ПК. В каждом
языке программирования имеется свой фиксированный набор базовых
типов данных. Некоторые языки позволяют создание дополнительных
(пользовательских) типов данных. В VBA имеются следующие типы
данных:

Тип данных Размер Диапазон значений


Byte (байт) 1 байт От 0 до 255.
Boolean
2 байт True или False.
(логический)
Integer (целое) 2 байт От -32 768 до 32 767.
Long (длинное
4 байт От -2 147 483 648 до 2 147 483 647.
целое)
Single (с От -3,402823E38 до -1,401298E-45
плавающей для отрицательных значений; от
4 байт
точкой обычной 1,401298E-45 до 3,402823E38 для
точности) положительных значений.
От -1,79769313486232E308 до
Double (с -4,94065645841247E-324 для
плавающей отрицательных значений; от
8 байт
точкой двойной 4,94065645841247E-324 до
точности) 1,79769313486232E308 для
положительных значений.
Currency От -922 337 203 685 477,5808 до 922
8 байт
(денежный) 337 203 685 477,5807.
+/-79 228 162 514 264 337 593 543
950 335 без дробной части; +/-
Decimal 7,9228162514264337593543950335 с
(масштабируемое 14 байт 28 знаками справа от запятой;
целое) минимальное ненулевое значение
имеет вид +/-
0,0000000000000000000000000001.
Date (даты и От 1 января 100 г. до 31 декабря
8 байт
время) 9999 г.
Object (объект) 4 байт Любой указатель объекта.
String (строка 10 байт + От 0 до приблизительно 2

6
переменной
длина строки миллиардов.
длины)
String (строка
постоянной Длина строки От 1 до приблизительно 65 400.
длины)
Variant (числовые Любое числовое значение вплоть до
16 байт
подтипы) границ диапазона для типа Double.
Variant (строковые 22 байт + Как для строки (String) переменной
подтипы) длина строки длины.
Тип данных,
определяемый
Объем
пользователем (с Диапазон каждого элемента
определяется
помощью определяется его типом данных.
элементами
ключевого слова
Type)

Byte - Массивы данного типа служит для хранения двоичных данных,


например, изображений. Использование данного типа предохраняет
двоичные данные во время преобразования формата.
Boolean - для хранения логических (булевых) значений. По
умолчанию значением булевской переменной является False- ложь.
Currency - для хранения чисел с дробной частью до четырех цифр и
целой частью до 15 цифр, то есть данных с фиксированной десятичной
точкой, удобных для денежных вычислений. Числа с плавающей
десятичной точкой (Single, Double) имеют больший диапазон значений,
но могут приводить к ошибкам округления.
Decimal - в версии 5.0 поддерживается использование типа данных
Decimal только в пределах типа Variant, т.е. невозможно описать
переменную с типом Decimal. Пользователь, однако, имеет возможность
создать переменную типа Variant с подтипом Decimal с помощью
функции CDec.
Object - поскольку VBA является объектно-ориентированным языком,
в нем можно манипулировать различными объектами, адреса
расположения которых в памяти (указатели) имеют этот тип.
String - по умолчанию данные строкового типа имеют переменную
длину и могут удлиняться или укорачиваться. Однако такие строки
занимают на 10байт памяти больше, поэтому можно объявить строки
фиксированной длины, чвно указав количество символов. Если
количество символов будет меньше объявленного, то свободные места
заполняются пробелами, при попытке занесения большего количества
символов лишние отбрасываются.
7
Variant - может быть использован для хранения данных всех базовых
типов без выполнения преобразования (приведения) типов. Применение
данного типа позволяет выполнять операции, не обращая внимание на
тип данных, которые они содержат. Удобен для объявления
переменных, тип которых заранее неизвестен. Переменные этого типа
могут содержать специальные значения: Empty, Null, Error.

3. Массивы

8
Как и в других языках программирования, в VBA можно использовать
массивы.

Dim B (3, 3) As Single


Dim A (12) As Integer

Первая строка объявляет двумерный массив 3х3 (матрицу), состоящий


из действительных чисел. Вторая строка объявляет одномерный массив
(вектор) из 12 целых чисел и первый элемент массива будет A(0), а
последний A(11). В таком случае говорят что 0 это базовый индекс.
Можно изменить базовый индекс, написав в начале листа модуля
инструкцию Option Base 1. После этого индексы массивов А и В будут
начинаться с единицы. Другим способом изменения базового индекса
является использование слова To при объявлении массива:

Dim B (1 To 3, 1 To 3) As Single
Dim A (1 To 12) As Integer

Массив в программе определяется поэлементно. Например:

Dim B (1 To 2, 1 To 2) As Single
B (1, 1) = 2
B (1, 2) = 4
B (2, 1) = 1
B (1, 2) = 6

Удобным способом определения одномерных массивов является


функция Array, преобразующая список элементов, разделённых
запятыми в вектор из этих значений, и присваивающая их переменной
типа Variant. Например:

Dim A As Variant
A = Array (10, 20, 30)
B = A (2).

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

9
Циклы позволяют выполнить одну или несколько строк кода несколько
раз. VBA поддерживает следующие циклы:
For...Next
For Each...Next
Do... Loop
Конструкция For . . . Next. Когда число повторений известно заранее,
используют цикл For . . . Next. В цикле For используется переменная,
называемая переменной цикла или счетчиком цикла, которая
увеличивается или уменьшается на заданную величину при каждом
повторении цикла. Синтаксис этой конструкции следующий:
For counter = start To end [Step increment]
операторы
Next [counter]
Параметры counter (счетчик), start (начало цикла), end (конец цикла) и
increment (приращение) являются числовыми.
Примечание. Параметр increment может быть как положительным, так
и отрицательным. Если он положителен, параметр start должен быть
меньше или равен параметру end, иначе цикл не будет выполняться.
Если параметр increment отрицателен, то параметр start должен быть
больше или равен значению параметра end, чтобы выполнялось тело
цикла. Если параметр Step не задан, то значение параметра increment
по умолчанию равно 1.
VBA выполняет цикл For в следующей последовательности:
1. Устанавливает значение переменной цикла counter в значение start.
2. Сравнивает значение переменной цикла counter и значение
параметра end. Если переменная counter больше, VBA завершает
выполнение цикла. (Если значение параметра increment отрицательно,
то VBA прекращает выполнение цикла при условии, что значение
переменной цикла counter меньше значения параметра end.)
3. Выполняет операторы тела цикла statements.
4. Увеличивает значение переменной цикла counter на 1 или на
величину значения параметра increment, если он задан.
5. Повторяет шаги со 2 по 4.

5. Элементы управления

10
11
12
13
6. Задание.
ИЗ МАССИВА A УДАЛИТЬ ТЕ ЭЛЕМЕНТЫ, КОТОРЫЕ ВСТРЕЧАЮТСЯ И В МАССИВЕ A И
В МАССИВЕ B ПО КРАЙНЕЙ МЕРЕ ПО 2 РАЗА. ПРИМЕР, МАССИВ A[8]: 3 3 4 5 2 3 5 9,
МАССИВ B[7]: 1 2 3 4 5 2 5. П О 2 РАЗА В ОБОИХ МАССИВАХ ВСТРЕЧАЕТСЯ ТОЛЬКО
ЭЛЕМЕНТ, РАВНЫЙ 5. МАССИВ A ПОСЛЕ УДАЛЕНИЯ ПРИМЕТ ВИД: A[6]: 3 3 4 2 3 9.

14
Sub kurs()
Dim a(), b(10), c(10), d(10), f(10) As Variant
Dim i, j, k, x, y As Integer

ReDim a(10)

Sheets(1).Select
For i = 1 To 10
a(i) = Cells(1, i).Value
Next i

Sheets(2).Select
For i = 1 To 10
b(i) = Cells(1, i).Value
Next i

For i = 1 To 10
c(i) = a(i)
Next i

k=0

For x = 1 To 10
For i = 1 To 10
If a(i) = b(x) Then
k=k+1
End If
Next i
d(x) = k
k=0
Next x

For x = 1 To 10
If d(x) >= 2 Then
For i = 1 To 10
If a(i) = c(x) Then a(i) = ""
Next i
End If
15
Next x

i=1
x=1

For i = 1 To 10
If a(i) <> "" Then
f(x) = a(i)
x=x+1
End If
Next i

y = 10 - x

For x = 1 To y
ReDim Preserve a(y)
a(x) = f(x)
Next x

Sheets(3).Select
For i = 1 To y
Cells(1, i).Value = a(i)
Next i

End Sub

16
7. Список используемой литературы:

1. Фурунжиев Р.И., Гугля В.А. САПР, или как ЭВМ помогает конструктору.
– Минск: Высшая школа, 1987.
2. Журнал «Информатика и образование», с 1992г.
3. Белошапка В.К. Информационное моделирование. – Омск: Изд-во
ОГПИ, 1992.
4. Советов Б.Я. Информационная технология. – М.: Высшая школа, 1992.
5. Свириденко С.С. Современные информационные технологии. – М.:
Радио и связь,1989.
6. Липаев В.В. Проектирование программных средств. – М.: Высшая
школа, 1990.
7.Э. Т. Романычева ; . - М. : ДМК, 1999. - (Проектирование). - ISBN 5-89818-
065-6

8.Л. Великов, Бином 2007 г. - ISBN   978-5-94774-256-5

9. Франческо Балена, Издательство: Эком, 2008 г. ISBN   978-5-9790-0040-4

10. Михеев Р. – VBA и программирование в Ms Office для пользователей. –


ISBN: 5-94157-863-6.

17

Вам также может понравиться