Файл: Е. А. Рябухина, О. А. Гущина, Д. А. Губанов, Д. В. Емельянов.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.12.2023
Просмотров: 585
Скачиваний: 5
Можно вычитать одну дату из другой, добавлять к дате или вычитать числа для изменения ее значения. В VBA имеется несколько встроенных процедур для отдельного извлечения года, месяца, дня, часов, минут и секунд переменной типа Date. 2.2. ЧислоVBA имеет шесть различных численных типов данных: Byte, Integer, Long, Single, Double, Currency. Они используются для хранения чисел в различных форматах, в зависимости от конкретного типа.2.2.1. Целое числоПод целым числом подразумевается число без дробной части (целые числа никогда не содержат десятичного знака, даже если десятичная часть равна нулю). VBA предоставляет три типа целых данных: Byte, Integer, Long.Byte – наименьший из трех типов целых данных, предназначен для хранения числе от 0 до 255.Тип Integer использует диапазон целых чисел от -32768 до 32767.Тип Long использует диапазон целых чисел от -2147483648 до 2147483647.Целые типы Byte, Integer, Long требуют меньше памяти для хранения чисел, чем другие численные типы данных VBA, а математические операции и операции сравнения над числами указанных типов быстрее, чем эти же операции для численных типов данных с плавающей точкой. VBA автоматически преобразует данные типов Byte, Integer, Long в текст, когда они выводятся на экран, используя такие процедуры, как MsgBox.2.2.2. Число с плавающей точкойЧисла с плавающей точкой могут иметь любое число цифр до или после десятичной точки (в пределах границ конкретного типа данных). Иногда их называют действительными числами. Этот тип данных используют тогда, когда требуется хранить числа, имеющие дробную часть.VBA имеет два типа данных с плавающей точкой: Single, Double.Тип Single используется для хранения отрицательных чисел от -3,402823*1038 до -1,401298*10-45 и положительных от 1,401298*10-45 до 3,402823*1038. Числа, хранимые с использованием типа Single, называются числами одинарной точности.Тип Double используется для хранения отрицательных чисел от -0,79769313486232*10308 до -4,94065645841247*10-324 и положительных от 4,94065645841247*10-324 до 1,79769313486232*10308.Числа, хранимые с использованием типа Double, называются числами двойной точности.Следует иметь в виду, что операции, выполняемые над числами с плавающей точкой, немного медленнее подобных операций над другими численными типами данных. Кроме того, числа, хранимые как типы данных с плавающей точкой, могут быть подвержены ошибкам округления. Если число с плавающей точкой очень большое или очень малое, VBA отображает его в экспоненциальном представлении.
В экспоненциальном представлении значения записываются без начальных и конечных нулей, и слева от десятичного знака имеется только одна цифра. Число умножается на 10 в некоторой степени, чтобы показать, где на самом деле находится десятичный знак. Следует помнить, что отрицательная степень приводит в результате к меньшему числу, а положительная – к большему. Вместо надстрочного символа показателя степени используется буква Е. Например:4.1Е3=41002.01Е-2=0.02012.2.3. Число с фиксированной точкойТип данных Currency используется для чисел с фиксированной точкой, т.е., десятичная точка всегда находится в одном и том же месте – справа от точки всегда имеются четыре цифры. Этот тип данных используется при денежных вычислениях, когда требуется высокая точность.Currency хранит числа в диапазоне от -922337203685477,5808 до 922337203685477,5807.2.3. Текстовая строкаЛюбые текстовые данные, сохраняемые в VBA, называются строками. Для их хранения предназначен тип данных String.Строка может содержать текстовые символы любых типов: буквы, цифры, знаки пунктуации, разделительные символы и пр. Строки всегда заключаются в двойные кавычки.Существует две категории строк: строки переменной длины и строки фиксированной длины. По умолчанию в VBA все строки переменной длины.Следует сказать, что тип данных String является очень важным типом, т.к., как правило, информация, вводимая пользователем – это строковые данные. Кроме того, поскольку на экране монитора отображается только текст, то все другие типы данных должны быть преобразованы в строковые данные перед выводом на экран.2.4. Логическое данноеЛюбое условие может принимать два значения: True (Истина) или False (Ложь). Логические значения True и False называются булевскими значениями, а тип данных – Boolean.Булевские значения получают как результат операции сравнения. Операции сравнения имеет место при сравнении одного с другим, например, при сравнении двух чисел для определения, которое из них больше.2.5. ВариантВариант (Variant) – это особый тип данных, который может сохранять любые типы, за исключением типа Object. VBA использует этот тип данных для всех переменных
, если только они не объявлены явно.
Данные типа Variant принимают характеристики определенного типа, который они сохраняют в данный момент. Например, если данные типа Variant содержат строковые данные, Variant принимает характеристики типа String. VBA использует для данных типа Variant наиболее компактное представление, возможное для конкретных значений, находящихся в данных.
Несмотря на то, что типы Variant удобны и избавляют от некоторой части работы при написании кода, они требуют большего объема памяти, чем любой другой тип данных, за исключением больших строк. Кроме того, математические операции и операции сравнения над данными типа Variant выполняются медленнее, чем подобные операции над данными любого другого типа. Следует избегать использования переменных Variant.
3. Переменные VBA
Переменная – это имя, которое программист дает области компьютерной памяти, используемой для хранения данных какого-либо типа.
При выборе имени переменной необходимо соблюдать определенные правила:
– имя переменной должно начинаться с буквы алфавита;
– имена переменных содержат латинские буквы, цифры и знак подчеркивания;
– имена переменных не могут превышать 255 символов;
– имя переменной должно быть уникальным в рамках его области действия. Имя переменной не может дублировать зарезервированные ключевые слова VBA;
– имена переменных не чувствительны к состоянию регистра. Т.е. нет разницы между MyNumber, mynumber, mYnUmBeR.
Хорошим тоном программирования считается, когда именам переменным даются осмысленные названия, отражающие их суть в производимых программой операциях. Например, логично будет, если переменная, содержащая итоговую сумму, будет иметь название "Sum". Вместе с тем, имена переменных должны быть достаточно короткими, что позволяет избежать ошибок при их написании.
Примеры правильного написания имен переменных: SUMMA, A1, SRED_ZNACH.
Примеры неправильного написания имен переменных: Я24 (содержит буку русского алфавита), SR-ZNACH (содержит недопустимый символ), 67FGJ (начинается не с буквы).
Самым простым способом создания переменной является использование ее в операторе VBA. При этом VBA создает переменную и резервирует память для переменной. Сохранение значения данных в переменной называется присваиванием переменной. Делается это с помощью оператора присваивания (=).
Например: Sum=120.Этот оператор сохраняет численное значение 120 в ячейке памяти, заданной переменной Sum.Такое объявление переменной называется неявным объявлением переменной. Все переменные, которые VBA создает подобным образом, имеют тип данных Variant.Неявное объявление переменной может вызвать массу проблем во время отладки программного кода, поэтому, такой способ программирования не рекомендуется. В некоторых языках программирования, например в языке Pascal (ПАСКАЛЬ), вообще нельзя объявлять переменные неявным способом.В связи с этим VBA предоставляет возможность выполнить явное объявление переменной. Это несет следующие преимущества:– ускоряется выполнение кода;– уменьшается количество потенциальных ошибок при написании кода;– улучшается читабельность программного кода;– нормализуется выделение заглавными буквами в имени переменной (т.е., если вы явно объявили имя переменной как AllSumm, то при написании в теле кода этой переменной, как allsumm, автоматически произойдет замена на AllSumm)Для явного объявления переменной используется оператор Dim, имеющий формат.DimV1 As T1, V2 As T2,V3 As T3, …Здесь V1, V2, …Vn – имена переменных, T1, T2, T3… – типы переменных соответственно.Пример:Dim A As Byte, S As single, N As IntegerСледует отметить, что при использовании описания вида DimV1, V2,…Vn As Tуказанный тип T принимает только последняя переменная Vn, а остальные имеют более общий тип.Пример:
-
Sub k()
Dim a, c, b As Byte
a = 6
b = 8
c = 100
End Sub