Сводка типов данных | Microsoft Learn
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 3 мин
Тип данных — это характеристика переменной, определяющая тип содержащихся в ней данных. К типам данных относятся типы, указанные в таблице ниже, а также пользовательские типы и определенные типы объектов.
Набор встроенных типов данных
В следующей таблице показываются поддерживаемые типы данных, включая размеры хранилищ и диапазоны.
Тип данных | Размер хранилища | Диапазон |
---|---|---|
Boolean | 2 байта | True или False |
Byte | 1 байт | от 0 до 255 |
Collection | Неизвестно | Неизвестно |
Currency (масштабируемое целое число) | 8 байт | от –922 337 203 685 477,5808 до 922 337 203 685 477,5807 |
Date | 8 байт | от 1 января 100 г. до 31 декабря 9999 г. |
Decimal | 14 байт | +/–79 228 162 514 264 337 593 543 950 335 без десятичной запятой +/–7,9228162514264337593543950335 с 28 разрядами справа от десятичной запятой Наименьшее ненулевое число равно +/–0,0000000000000000000000000001 |
Dictionary | Неизвестно | Неизвестно |
Double (число с плавающей запятой двойной точности) | 8 байт | от –1,79769313486231E308 до –4,94065645841247E-324 для отрицательных значений от 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений |
Integer | 2 байта | от –32 768 до 32 767 |
Long (целое число Long) | 4 байта | от –2 147 483 648 до 2 147 483 647 |
LongLong (целое число LongLong) | 8 байт | от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 |
LongPtr (целое число Long в 32-разрядных системах, целое число LongLong в 64-разрядных системах) | 4 байта в 32-разрядных системах 8 байт в 64-разрядных системах | от –2 147 483 648 до 2 147 483 647 в 32-разрядных системах от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 в 64-разрядных системах |
Object | 4 байта | Любая ссылка на Object |
Single (число с плавающей запятой одинарной точности) | 4 байта | от –3,402823E38 до –1,401298E-45 для отрицательных значений от 1,401298E-45 до 3,402823E38 для положительных значений |
String (переменная длина) | 10 байтов + длина строки | от 0 до приблизительно 2 миллиардов |
String (фиксированная длина) | Длина строки | от 1 до приблизительно 65 400 |
Variant (с числами) | 16 байт | Любое числовое значение до диапазона типа Double |
Variant (с символами) | 22 байта + длина строки (24 байтов в 64-разрядных системах) | Тот же диапазон как для типа String переменной длины |
Определяется пользователем (используя Type) | Число, необходимое для элементов | Диапазон каждого элемента совпадает с диапазоном его типа данных. |
Тип Variant, содержащий массив, требует на 12 байт больше, чем сам массив.
Примечание
Для массивов данных любого типа требуются 20 байтов памяти плюс 4 байта на каждую размерность массива, плюс количество байтов, занимаемых самими данными. Память, занимаемая данными, может быть вычислена путем умножения количества элементов данных на размер каждого элемента.
Например, данные в одномерном массиве, состоящем из 4 элементов данных Integer размером 2 байта каждый занимают 8 байтов. 8 байтов, необходимых для данных, плюс 24 байта служебных данных составляют 32 байта полной памяти, требуемой для массива. На 64-разрядных платформах массив SAFEARRAY занимает 24 бита (плюс 4 байта на оператор Dim). Элемент pvData является 8-байтным указателем, и он должен находиться в границах 8 байтов.
Примечание
Тип LongPtr не является настоящим типом данных, так как он преобразуется в тип Long в 32-разрядных средах или в тип LongLong в 64-разрядных средах.
Тип LongPtr должен использоваться для представления указателя и обработки значений в операторах Declare и позволяет писать переносимый код, который может выполняться как в 32-разрядных, так и в 64-разрядных средах.Примечание
Для преобразования одного типа строковых данных в другой используется функция StrConv.
Преобразование между типами данных
В статье Функции преобразования типов приведены примеры использования следующих функций для приведения выражения к определенному типу данных: CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CLngLng, CLngPtr, CSng, CStr и CVar.
Ниже приведены страницы соответствующих функций: CVErr, Fix и Int.
Примечание
Функция CLngLng действительна только для 64-разрядных платформ.
Проверка типов данных
Чтобы проверить типы данных, ознакомьтесь с приведенными ниже функциями.
- IsArray
- IsDate
- IsEmpty
- IsError
- IsMissing
- IsNull
- IsNumeric
- IsObject
Возвращаемые значения функции CStr
Если expression | CStr возвращает |
---|---|
Boolean | Строка, содержащая значение True или False. |
Date | Строка, содержащая полный или краткий формат даты, установленный в системе. |
Empty | Строка нулевой длины («»). |
Error | Строка, содержащая слово Error и номер ошибки. |
Null | Ошибка во время выполнения. |
Другое числовое значение | Строка, содержащая число |
См. также
- Константы VarType
- Ключевые слова по задачам
- Справочник по языку Visual Basic
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
VBA Excel. Типы данных
Справочная таблица по встроенным типам данных VBA Excel. Функция TypeName, возвращающая тип данных переменной. Оператор Option Explicit в начале модуля.
Встроенные типы данных
Встроенные типы данных VBA Excel:
Тип данных | Байты* | Диапазон значений |
---|---|---|
Byte | 1 | Целые числа: от 0 до 255 |
Boolean | 2 | True (Истина) или False (Ложь) |
Integer | 2 | Целые числа: от -32768 до 32767 |
Long | 4 | Целые числа: от -2147483648 до 2147483647 |
Single | 4 | Отрицательные числа: от -3,402823Е+38 до -1,401298Е-45 Положительные числа: от 1,401298Е-45 до 3,402823Е+38 |
Double | 8 | Отрицательные числа: от -1,79769313486232Е+308 до -4,94065645841247Е-324 Положительные числа: от 4,94065645841247Е-324 до 1,79769313486232Е+308 |
Currency | 8 | от -922337203685477,5808 до 922337203685477,5807 |
Date | 8 | с 1 января 100 года по 31 декабря 9999 года |
Object | 4 | Ссылка на объект |
String (переменной длины) | 10 + длина строки | от 0 до ≈2 млрд символов |
String (фиксированной длины) | длина строки | от 1 до ≈65400 символов |
Variant (числа) | 16 | В пределах диапазона типа данных Double |
Variant (символы) | 22 + длина строки | от 0 до ≈2 млрд символов |
Дополнительно для VBA7:
Тип данных | Байты* | Диапазон значений |
---|---|---|
LongLong | 8 | Целые числа: от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 Доступен только в 64-разрядных системах. |
LongPtr | 4 или 8 | В 32-разрядных системах соответствует типу Long: от -2147483648 до 2147483647, в 64-разрядных — типу LongLong: от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 |
*Резервируется память в байтах на каждую переменную соответствующего типа.
Тип данных Variant может принимать специальные значения: Empty, Error, Nothing и Null.
Кроме встроенных типов данных VBA Excel позволяет использовать пользовательские типы, создаваемые с помощью оператора Type. Диапазон значений пользовательского типа данных определяется встроенными типами, из которых он состоит.
Переменные с типами данных Byte, Boolean, Integer, Long, Single и Double можно объявлять с помощью суффиксов.
Функция TypeName
TypeName – это функция, возвращающая значение типа String с информацией о переменной.
Чаще всего, функция TypeName возвращает наименование типа данных аргумента (значения), содержащегося в переменной. Кроме наименований встроенных типов данных, функция TypeName может возвращать следующие значения:
Значение | Описание |
---|---|
Collection, Dictionary, Range, Worksheet и т.д. | Тип известного объекта, ссылка на который содержится в объектной переменной |
Error | Переменная содержит значение ошибки |
Empty | Неинициализированное значение |
Null | Отсутствие допустимых данных |
Unknown | Объект, тип которого неизвестен |
Nothing | Объектная переменная, которая не ссылается на объект |
Если переменная объявлена с числовым типом данных или String, функция TypeName возвратит наименование этого типа данных. Если переменная объявлена с типом данных Variant или Object, возвращаемое значение будет зависеть от содержимого переменной.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 | Sub Primer() Dim a As Single, b As Date, c As Variant MsgBox «a As Single: » & TypeName(a) ‘Single MsgBox «b As Date: » & TypeName(b) ‘Date MsgBox «c As Variant: » & TypeName(c) ‘Empty (значение не инициализировано) c = 1. 236 MsgBox «c = 1.236: » & TypeName(c) ‘Double Set c = Cells(1, 1) MsgBox «Set c = Cells(1, 1): » & TypeName(c) ‘Range (тип объекта) Set c = Worksheets(1) MsgBox «Set c = Worksheets(1): » & TypeName(c) ‘Worksheet (тип объекта) End Sub |
Оператор Option Explicit
VBA Excel допускает использование в коде как объявленных, так и необъявленных переменных. Необъявленным переменным присваивается тип данных Variant и они могут принимать все допустимые значения, свойственные этому типу.
Если при написании кода допустить ошибку в имени ранее использовавшейся переменной, компилятор зарегистрирует ее как новую. Это вызовет ошибки в работе программы, причину которых (ошибку в имени переменной) трудно обнаружить при отладке.
Чтобы избежать ошибок при работе с переменными используется оператор Option Explicit. Он указывает на то, что все переменные в модуле должны быть объявлены с помощью ключевого слова Dim или ReDim. В этом случае, если компилятор обнаружит строку с необъявленной переменной, то сгенерирует ошибку и выделит эту переменную.
Размещается оператор Option Explicit в самом начале модуля перед всеми остальными операторами. Чтобы каждый раз не вставлять его вручную и, тем более, не забыть о нем, можно настроить редактор VBA Excel, чтобы он автоматически добавлял Option Explicit при создании нового модуля.
Настройка автоматического добавления Option Explicit
1. Откройте окно Options через вкладку меню Tools:
2. Отметьте галочкой опцию Require Variable Declaration на вкладке Editor:
3. Теперь новый модуль открывается со строкой Option Explicit:
Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.
Сводка типов данных | Microsoft Узнайте
Редактировать
Твиттер LinkedIn Фейсбук Электронное письмо
- Статья
- 3 минуты на чтение
Тип данных — это характеристика переменной, которая определяет, какие данные она может содержать. Типы данных включают те, что указаны в следующей таблице, а также определяемые пользователем типы и определенные типы объектов.
Установить встроенные типы данных
В следующей таблице показаны поддерживаемые типы данных, включая размеры и диапазоны хранения.
Тип данных | Размер хранилища | Диапазон |
---|---|---|
Логический | 2 байта | Верно или Ложно |
Байт | 1 байт | от 0 до 255 |
Коллекция | Неизвестно | Неизвестно |
Валюта (масштабированное целое число) | 8 байт | -922 337 203 685 477,5808 до 922 337 203 685 477,5807 |
Дата | 8 байт | С 1 января 100 г. по 31 декабря 9999 г. |
Десятичный | 14 байт | +/-79 228 162 514 264 337 593 543 950 335 без десятичной точки +/-7,9228162514264337593543950335 с 28 знаками справа от запятой Наименьшее ненулевое число +/-0,00000000000000000000000000001 |
Словарь | Неизвестно | Неизвестно |
Double (двойная точность с плавающей запятой) | 8 байт | от -1,79769313486231E308 до -4,94065645841247E-324 для отрицательных значений 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений |
Целое число | 2 байта | от -32 768 до 32 767 |
Длинное (Длинное целое) | 4 байта | -2 147 483 648 до 2 147 483 647 |
LongLong (целое LongLong) | 8 байт | От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 Допустимо только на 64-разрядных платформах. |
LongPtr (длинное целое число в 32-разрядных системах, длинное целое число в 64-разрядных системах) | 4 байта в 32-битных системах 8 байтов в 64-битных системах | от -2 147 483 648 до 2 147 483 647 в 32-разрядных системах от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 в 64-разрядных системах |
Объект | 4 байта | Любой Объект ссылка |
Single (с плавающей запятой одинарной точности) | 4 байта | от -3.402823E38 до -1.401298E-45 для отрицательных значений 1.401298E-45 до 3.402823E38 для положительных значений |
Строка (переменной длины) | 10 байт + длина строки | от 0 до примерно 2 миллиардов |
Строка (фиксированной длины) | Длина строки | от 1 до примерно 65 400 |
Вариант (с номерами) | 16 байт | Любое числовое значение в диапазоне Double |
Вариант (с символами) | 22 байта + длина строки (24 байта в 64-разрядных системах) | Тот же диапазон, что и для переменной длины Строка |
Определяется пользователем (с использованием типа ) | Количество, необходимое для элементов | Диапазон каждого элемента совпадает с диапазоном его типа данных. |
Для варианта , содержащего массив, требуется на 12 байт больше, чем для одного массива.
Примечание
Для массивов данных любого типа требуется 20 байтов памяти плюс 4 байта для каждого измерения массива плюс количество байтов, занимаемых самими данными. Память, занимаемая данными, может быть рассчитана путем умножения количества элементов данных на размер каждого элемента.
Например, данные в одномерном массиве, состоящем из 4 Integer элементов данных по 2 байта каждый, занимают 8 байт. 8 байтов, необходимых для данных, плюс 24 байта служебных данных, увеличивают общую потребность в памяти для массива до 32 байтов. На 64-битных платформах SAFEARRAY занимает 24 бита (плюс 4 байта на оператор Dim). Элемент pvData представляет собой 8-байтовый указатель, и он должен быть выровнен по 8-байтовым границам.
Примечание
LongPtr не является истинным типом данных, поскольку он преобразуется в Long в 32-разрядных средах или в LongLong в 64-разрядных средах. LongPtr следует использовать для представления значений указателя и дескриптора в операторах Declare и позволяет писать переносимый код, который может работать как в 32-разрядных, так и в 64-разрядных средах.
Примечание
Используйте функцию StrConv для преобразования одного типа строковых данных в другой.
Преобразование между типами данных
См. Функции преобразования типов для примеров использования следующих функций для приведения выражения к определенному типу данных: CBool , CByte , CCur , CDate , CDbl , CDec 8 , 3 , CLng , CLngLng , CLngPtr , CSng , CStr и CVar .
Для следующего см. соответствующие страницы функций: CVErr , Fix и Целое число .
Примечание
CLngLng допустимо только на 64-разрядных платформах.
Проверка типов данных
Для проверки типов данных см. следующие функции:
- IsArray
- ИсДате
- пусто
- Ошибка
- Отсутствует
- Иснулл
- Иснумерик
- Объект
Возвращаемые значения для CStr
Если выражение равно | Cstr возвращает |
---|---|
Логический | Строка, содержащая True или False . |
Дата | Строка, содержащая дату в кратком формате вашей системы. |
Пустой | Строка нулевой длины («»). |
Ошибка | Строка, содержащая слово Error , за которым следует номер ошибки. |
Нуль | Ошибка выполнения. |
Другие числовые | Строка, содержащая число. |
См. также
- Константы VarType
- Ключевые слова по задаче
- Справочник по языку Visual Basic
Поддержка и отзывы
У вас есть вопросы или отзывы об Office VBA или этой документации? См. раздел Поддержка и отзывы Office VBA, чтобы узнать, как вы можете получить поддержку и оставить отзыв.
Типы переменных VBA в Excel
Очень важно знать, как эффективно понимать и использовать типы переменных VBA в Excel, чтобы ваш код работал правильно.
В этой статье мы объясним, что такое переменная, как использовать ее в коде VBA, а также рассмотрим различные типы данных Excel VBA.
Изучите лучшие сочетания клавиш Excel
Загрузите нашу памятку по ярлыкам для ПК и Mac, которую можно распечатать
Введите адрес электронной почты
Что такое переменная?
Переменная — это место в памяти вашего компьютера, которое вы определяете и затем используете для хранения значений. Это хранилище является временным, и значения очищаются, когда ваш макрос заканчивается.
Вы можете назвать переменную осмысленным и указать тип данных, которые она будет хранить. Затем вы можете получить доступ и изменить значение этой переменной столько раз, сколько захотите, в своем коде Excel VBA.
Константа аналогична, однако после инициализации хранимое в ней значение не может быть изменено в коде VBA.
Зачем используются переменные
Переменные имеют решающее значение для написания эффективного кода VBA. Вы можете присваивать значения переменной, а затем тестировать, изменять и записывать эту переменную во время выполнения макроса.
Хранение значений в физических контейнерах, таких как ячейки на листе, неэффективно, если вам нужно читать, записывать и изменять это значение несколько раз.
Доступ к значениям, хранящимся на листе, медленный, а также неуклюжий для кода. Переменные хранятся в памяти вашего компьютера, поэтому доступ к ним осуществляется намного быстрее, чем при проверке ячейки на листе.
Вы также можете присвоить значимое имя при объявлении ваших переменных. Это делает ссылку на код VBA более удобной, чем на ячейку на листе.
Объявление переменных в Excel VBA
Создание переменных в VBA называется объявлением ваших переменных .
Объявление переменной состоит из трех частей:
- Ключевое слово Dim
- Имя переменной
- Тип данных.
Объявления — это первые строки кода, которые вы видите в макросе Excel.
Код ниже объявляет четыре переменные. Каждая переменная объявляется в отдельной строке.
Sub VariableExamples()
Dim companyID как строка
Dim companyName как строка
Dim numberOfProducts как целое число
Тусклый продуктЦена как двойная
End Sub
При именовании переменной необходимо соблюдать некоторые правила (это те же правила, которые следует учитывать при именовании макросов).
- Имя переменной не должно начинаться с цифры.
- Нельзя использовать специальные символы, такие как %, &, ! или @ .
- Вы не можете использовать пробелы.
- Зарезервированное ключевое слово, такое как Dim , Public или Next , нельзя использовать. Эти зарезервированные слова важны для других операций VBA.
Рекомендуется определить тип данных для каждой из ваших переменных. Это определяет тип данных, которые будет хранить переменная.
Если тип переменной не определен, используется тип данных Variant. Это может обрабатывать любой тип данных, но занимает больше места для хранения.
Существует несколько распространенных типов переменных VBA, которые вы будете часто видеть и использовать. Это:
- Строка для хранения текстовых значений.
- Long и Integer для хранения целых чисел.
- Двойной для хранения чисел с десятичными знаками.
- Булево значение для хранения значений ИСТИНА и ЛОЖЬ.
- Объект для хранения объектов VBA, таких как рабочие листы и диаграммы.
Если у вас есть несколько переменных одного типа данных, вы можете объявить их в одной строке.
В приведенном ниже коде два типа переменных String объявлены в одной строке.
Sub VariableExamples()
Dim companyID, companyName как строка
Dim numberOfProducts как целое число
Тусклый продуктЦена как двойная
Конец суб
Типы данных VBA
В таблице ниже представлено более подробное руководство по различным типам данных Excel VBA. В нем подробно описывается хранилище, которое они потребляют, и диапазон значений, которые они могут хранить.
Например, обратите внимание, что тип данных Integer может хранить только значения до 32 767. Таким образом, если вы используете переменную для хранения больших значений, таких как номера строк, тип данных Long будет более подходящим.
Это полезная таблица для справки, когда вы привыкнете к типам переменных VBA.
Тип данных | Сохранено | Диапазон значений |
---|---|---|
Байт | 1 байт | от 0 до 255 |
Целое число | 2 байта | от -32 768 до 32 767 |
Одноместный | 4 байта | от -3.402823E38 до -1.401298E-45 для отрицательных значений, от 1.401298E-45 до 3.402823E38 для положительных значений |
Длинный | 4 байта | -2 147 483 648 до 2 147 483 648 |
Двойной | 8 байт | от -1,79769313486232e+308 до -4,94065645841247E-324 для отрицательных значений, от 4,94065645841247E-324 до 1,79769313486232e+308 для положительных значений. |
Десятичный | 14 байт | +/-79 228 162 514 264 337 593 543 950 335 без десятичной точки, +/-7,9228162514264337593543950335 для 28 знаков справа от десятичной точки |
Дата | 8 байт | с 1 января 100 года по 31 декабря 9999 |
Валюта | 8 байт | -922 337 203 685 477,5808 до 922 337 203 685 477,5807 |
Строка (переменной длины) | 10 байт добавлено к длине строки | от 0 до 2 миллиардов символов |
Строка (фиксированной длины) | длина строки | от 1 до примерно 65 400 |
Вариант (с номерами) | 16 байт | Любое числовое значение в диапазоне Double |
Вариант (с символами) | 22 байта + длина строки (24 байта в 64-битных системах) | Тот же диапазон, что и для переменной длины Строка |
Объект | 4 байта | Объект в VBA |
Логическое значение | 2 байта | Верно или неверно |
Использование переменных в коде VBA
После объявления переменной она инициализируется путем присвоения ей значения. Обычно это делается (если возможно) сразу после объявления.
В приведенном ниже коде показаны значения, присвоенные переменным.
Sub VariableExamples()
Dim companyID как строка
Dim companyName как строка
Dim numberOfProducts как целое число
Тусклый продуктЦена как двойная
ID компании = Диапазон ("A2"). Значение
companyName = «Чипсы и соусы»
количество продуктов = ActiveSheet.UsedRange.Rows.Count
продуктЦена = 39.50
End Sub
Здесь было продемонстрировано несколько различных методов.
- Значение из ячейки было присвоено переменной ‘companyID’.
- Обратите внимание, что при присвоении типам данных String необходимо использовать кавычки.
- Результат количества строк в используемом диапазоне был присвоен переменной «numberOfProducts».
Затем переменные можно использовать в макросе по мере необходимости, а их значение можно изменить в любое время.
В этом списке полезных макросов для начинающих вы можете увидеть множество примеров использования переменных.
В приведенном ниже коде показан оператор IF, проверяющий значение ячейки. Если условие выполняется, значение переменной productPrice изменяется. Затем значение переменной присваивается ячейке.
Использование объектных переменных
Объектные переменные работают немного иначе. Они невероятно полезны, и вам следует рассмотреть возможность их изучения.
Они могут быть объявлены как объектный тип данных.
Sub ObjectExamples()
Dim wkSht как объект
End Sub
Однако обычно они объявляются как объект определенного типа.
Sub ObjectExamples()
Dim wbk как рабочая книга
Dim wkSht как рабочий лист
Dim rng as Range
End Sub
При присвоении значений переменным объекта необходимо использовать ключевое слово Set.
Sub ObjectExamples()
Dim wbk как рабочая книга
Dim wkSht как рабочий лист
Dim rng as Range
Установите wbk = Workbooks.Open("C:\Users\Admin\Desktop\Annual Sales. xlsx")
Установите wkSht = Листы («Март»)
Установите rng как wbk.Sheets(1).Range("A2")
Конец суб
Здесь демонстрируется несколько различных методов:
- Рабочая книга открывается и назначается переменной ‘wbk’ в том же операторе.
- Затем переменная ‘wbk’ используется при назначении переменной ‘rng’ . Это избавляет нас от необходимости повторять имя рабочей книги.
- Переменной ‘wkSht’ назначается определенный лист из открытой рабочей книги (это активная рабочая книга, поскольку она была открыта в предыдущем операторе).
Объектные переменные можно использовать в коде точно так же, как объект, который они представляют. Например, переменная ‘wkSht’ имеет все свойства и методы рабочего листа.
Эти переменные делают ссылки на объекты в коде более ясными и краткими.
Использование явного параметра
На самом деле нет необходимости объявлять переменные или определять типы данных VBA перед использованием переменных в коде. Однако рекомендуется явно объявлять ваши переменные, и вам настоятельно рекомендуется следовать этому правилу.
Эта практика имеет множество преимуществ:
- Код стал более разборчивым. Другие знают, где найти ваши переменные и тип данных, которые они будут хранить. Это все декларируется заранее, а не создается на лету, вводя в заблуждение других и себя.
- Макрос работает быстрее. Определяя типы переменных VBA, вы экономите место (в противном случае используется тип данных Variant), и вашему коду не нужно догадываться во время выполнения.
- Легче устранить неполадки в коде. Если вы попытаетесь присвоить значение переменной, которая не соответствует набору типов данных VBA, появится ошибка несоответствия типа.
Использование Option Explicit принудительно объявляет переменные до того, как их можно будет использовать. Это хорошая идея.
Чтобы использовать Option Explicit, просто введите Option Explicit в верхней части окна кода.
Эта функция также может быть очень полезна при устранении неполадок кода. Если имя не распознано, отображается ошибка «Переменная не определена».
Это помогает обнаружить опечатки и переменные, которые вы забыли объявить.
Явный параметр — это параметр, который можно включить в редакторе Visual Basic. Это гарантирует, что Option Explicit автоматически добавляется в верхнюю часть окна кода.
Чтобы включить опцию Explicit:
- Щелкните Инструменты > Параметры
- Установите флажок Требовать объявление переменной на вкладке Редактор.
Область действия переменной
Область действия переменной указывает, где можно использовать переменную.
Все переменные, продемонстрированные в этой статье, были доступны для использования только в этом макросе или процедуре.
Это потому, что они были объявлены с ключевым словом Dim внутри этой процедуры. Когда макрос завершается, переменная удаляется из памяти.
Для переменной также может быть задана область действия модуля (доступная для использования любой процедурой в этом модуле) и область действия проекта (доступная для использования любой процедурой в этом проекте).
Переменные области модуля
Чтобы сделать переменную доступной для всех процедур внутри модуля, вы объявляете переменную в верхней части окна кода над процедурами и используете ключевое слово Dim.
По завершении процедуры переменная и ее значение сохраняются. Таким образом, если другая процедура использует эту переменную, она по-прежнему будет иметь значение, с которым она завершила работу ранее. Он освобождается из памяти только при закрытии проекта.
Переменные области проекта
Чтобы сделать переменную доступной для всех процедур проекта (обычно рабочей книги), она объявляется с ключевым словом Public вместо Dim.
Это также объявляется над всеми процедурами в верхней части любого окна кода в проекте.