что значит dim в vba

VBA Dim

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Excel VBA Dim

DIM в VBA можно назвать, так как он объявляет переменную в различных типах данных, таких как целочисленная логическая строка или double и т. Д. В любом языке программирования переменная должна быть объявлена ​​определенному типу данных, например, X является переменной, и если мы определяем X как целое число, которое означает, что мы можем хранить целочисленные значения в X. Теперь, если мы объявим Y как строку, это означает, что мы можем хранить строковые значения в Y.

Как обсуждалось выше, DIM в VBA используется для объявления переменных разных типов данных. Но что такое DIM в VBA? DIM означает измерение или объявить в памяти в VBA. Мы объявляем переменную для определенного типа данных в VBA, мы используем ключевое слово DIM, чтобы сделать это. Мы можем использовать структуры классов, уже встроенные в VBA, или сами можем создать новую. Чтобы дать очень простое объяснение DIM, мы можем взять это в качестве примера, например, нам нужно хранить логические значения в переменной. Логические значения означают, что они либо истинны, либо ложны. Теперь логические значения, как мы знаем, являются логическими в типах данных, поэтому нам нужно объявить нашу переменную в логическом типе данных.

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

Использование DIM с синтаксисом в VBA выглядит следующим образом:

Переменная DIM As DataType.

Когда мы пытаемся определить конкретный тип данных, Excel предварительно вводит его для нас.

Посмотрите на скриншот ниже,

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

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

Как использовать VBA Dim в Excel?

Мы научимся использовать VBA Dim на нескольких примерах в Excel.

Во-первых, давайте использовать Integer в качестве типа данных для объявления. Мы будем использовать три переменные и объявим каждую из них как целые числа, используя ключевое слово DIM. И тогда мы будем отображать окончательный результат.

Подсказка. Чтобы использовать VBA в Excel, нам нужно включить доступ для разработчиков с помощью учетной записи на вкладке «Файл».

Шаг 1. Перейдите на вкладку « Разработчик » и щелкните Visual Basic, чтобы открыть редактор VBA.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 2: В окне проекта нажмите на лист 1, чтобы открыть окно кода.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 3: Когда откроется окно кода, чтобы объявить подфункцию, чтобы начать писать код.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 4: Объявите три переменные A, B и C как целые числа.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 5: присвойте этим трем переменным любые случайные значения.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 6: Показать значения C с помощью функции msgbox.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 7: Запустите код с помощью кнопки запуска. Как только мы запустим код, мы получим следующий результат в качестве вывода.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 8: Поскольку A, B и C были объявлены как целое число, а сумма A и B также является целым числом, может отображаться значение, сохраненное в C. Но если мы изменим значение C = A / B, как показано на скриншоте ниже.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 9: Теперь давайте снова запустим код и посмотрим, что мы получим в результате,

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

В результате мы получаем ноль, но 5/10 равен 0, 5, а не 0. Это потому, что C может хранить только целые значения, а не значения после десятичной дроби.

В предыдущем примере мы видели, что если значение результата в C находится в десятичных числах, значения после десятичных чисел не отображаются в выходных данных, потому что мы объявили C как целое число. Теперь мы будем использовать другой тип данных для объявления из функции DIM для отображения исходного значения C.

Шаг 1. Перейдите на вкладку « Разработчик » и щелкните Visual Basic, чтобы открыть редактор VBA.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 2: В окне проекта нажмите на Лист 2, чтобы открыть окно кода.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 3: Как только окно кода открыто, создайте подфункцию, чтобы начать писать код.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 4: Объявите три переменные AB и C. Объявите A и B как целые числа, а C как двойные.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 5: Аналогично примеру 1 присвойте значения этим переменным.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 6: Теперь отобразите вывод с помощью функции msgbox.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 7: Запустите код с кнопки запуска. Запустив код, мы получим следующий результат:

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Теперь у нас есть точное значение C, которое составляет 0, 5.

Давайте использовать функцию DIM для хранения символов означает строки.

Шаг 1. Перейдите на вкладку « Разработчик » и щелкните Visual Basic, чтобы открыть редактор VBA.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 2: В окне проекта нажмите на Лист 3, чтобы открыть окно кода.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 3: Создайте подфункцию, чтобы начать писать код,

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 4: Объявите переменную A как строку,

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 5: Присвойте любые случайные значения A,

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 6: Показать вывод с помощью функции msgbox.

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Шаг 7: Запустите код из предоставленной кнопки запуска и посмотрите результат,

что значит dim в vba. Смотреть фото что значит dim в vba. Смотреть картинку что значит dim в vba. Картинка про что значит dim в vba. Фото что значит dim в vba

Объяснение VBA DIM

DIM в VBA используется для объявления переменных как различных типов данных. Переменные могут быть единственной переменной или массивом, который мы должны иметь в виду, чтобы объявить правильный тип данных для получения правильного вывода.

Например, если наши выходные данные будут в String, нам нужно объявить переменную в String, а если выходные данные будут в десятичных числах, то объявить переменную как double и т. Д.

То, что нужно запомнить

Есть несколько вещей, которые мы должны помнить о DIM в VBA:

Рекомендуемые статьи

Источник

3.3 Переменные и типы данных

Переменные VBA, объявление переменных, Option Explicit, правила именования, типы данных VBA, исходные значения переменных

Переменные — контейнеры для хранения изменяемых данных. Без них не обходится практически ни одна программа. Для простоты переменную можно сравнить с номерком в гардеробе — вы сдаете в «гардероб» какие-то данные, в ответ вам выдается номерок. Когда вам опять потребовались эти данные, вы «предъявляете номерок» и получаете их. Пример работы с переменными в VBA может выглядеть так:

Dim nMyAge As Integer

nMyAge = nMyAge + 10

Перед работой с переменной настоятельно рекомендуется ее объявить. Объявление переменной в нашем примере выглядит так:

Dim nMyAge As Integer

Как расшифровать эту строку:

Dim — это область видимости переменной. В VBA предусмотрено 4 ключевых слова для определения области видимости переменных:

Static nVar1 As Integer

Если нет никаких особых требований, то есть смысл всегда выбирать область видимости Dim.

Второе слово в нашем объявление (nMyAge) — это идентификатор (проще говоря, имя) переменной. Правила выбора имен в VBA едины для многих элементов (переменные, константы, функции и процедуры и т.п.). Имя:

При создании программ VBA настоятельно рекомендуется определиться с правилами, по которым будут присваиваться имена объектам — соглашение об именовании. Чаще всего используется так называемое венгерское соглашение (в честь одного из программистов Microsoft, Charles Simonyi, венгра по национальности):

Многие программисты используют такой подход для обозначения констант и сейчас (но использование ключевого слова Const теперь обязательно — об этом будет рассказано в следующем разделе).

Третья часть нашего объявления — As Integer — это указание на тип данных нашей переменной. Тип данных определяет, данные какого вида можно будет хранить в нашей переменной.

В VBA предусмотрены следующие типы данных:

Внимание! Попытка объявить переменную с типом Decimal (например, Dim n As Decimal) приведет к синтаксической ошибке. Чтобы получить возможность работать с типом Decimal, переменную нужно изначально объявить как Variant или вообще объявить без типа (Dim n), поскольку тип данных Variant используется в VBA по умолчанию.

Можно еще использовать пользовательские типы данных, но их вначале нужно определить при помощи выражения Type. Обычно пользовательские типы данных используются как дополнительное средство проверки вводимых пользователем значений (классический пример — почтовый индекс).

Некоторые моменты, связанные с выбором типов данных для переменных:

Такой подход является устаревшим и к использованию не рекомендуется.

При объявлении переменных можно и не указывать ее тип. Например, наше объявление может выглядеть так:

В этом случае переменная будет автоматически объявлена с типом Variant.

В принципе, в VBA можно работать и без объявления переменных. Например, такой код

будет вполне работоспособным. Если мы используем переменную в программе без ее объявления, то будет автоматически создана новая переменная типа Variant. Однако объявлять переменные нужно обязательно! И при этом желательно явно указывать нужный тип данных. Почему:

Dim oWbk As Workbook

Set oWbk = Workbooks.Add()

Set oWbk = Workbooks.Add()

Но подсказка по свойствам и методам объекта oWbk будет работать только во втором случае.

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

Проиллюстрировать, зачем они это делают, можно на простом примере:

С виду код не должен вызывать никаких проблем и просто выводить в окне сообщения единицу. На самом деле он выведет пустое окно сообщения. Причина спрятана очень коварно: в третьей строке n — это вовсе не английская буква N, а русская П. На вид в окне редактора кода отличить их очень сложно. В то же время компилятор VBA, встретив такой код, просто создаст новую переменную с типом данных Variant, у которой будет пустое значение. На выявление такой ошибки может потребоваться определенное время.

Хорошее правило — объявлять переменные заблаговременно, а не когда они потребовались. Это позволяет сделать программу более читаемой и четко спланированной.

Можно объявить несколько переменных в одной строке, например, так:

Dim n1 As Integer, s1 As String

Присвоение значений переменным выглядит так:

Если нужно увеличить уже существующее значение переменной, то команда может выглядеть так:

В обоих примерах знак равенства означает не «равно», а присвоить.

При присвоении значений переменным нужно помнить о следующем:

Обратите внимание, что при присвоении значения даты/времени таким «явным способом» нам придется использовать принятые в США стандарты: 05 в данном случае — это месяц, 06 — день. Отображение же этого значения (например, в окне сообщения) будет зависеть от региональных настроек на компьютере пользователя.

Если нужно передать шестнадцатеричное значение, то перед ним ставятся символы &H:

Что содержится в переменных до присвоения им значений?

Источник

Оператор Dim (Visual Basic)

Объявляет и выделяет дисковое пространство для одной или нескольких переменных.

Синтаксис

Компоненты

Необязательный элемент. См. список атрибутов.

Необязательный элемент. Может применяться один из перечисленных ниже типов.

Необязательный элемент. См. раздел Shared.

Необязательный элемент. См. раздел Shadows.

Необязательный элемент. См. раздел static.

Необязательный элемент. См. раздел ReadOnly.

Необязательный элемент. Указывает, что это переменные объекта, которые ссылаются на экземпляры класса, которые могут создавать события. См. раздел WithEvents.

Обязательный элемент. Список переменных, объявляемых в этой инструкции.

Каждый элемент variable имеет перечисленные ниже синтаксис и компоненты.

Комментарии

компилятор Visual Basic использует Dim инструкцию для определения типа данных переменной и других сведений, например кода, который может получить доступ к переменной. В следующем примере объявляется переменная для хранения Integer значения.

Можно указать любой тип данных или имя перечисления, структуры, класса или интерфейса.

Переменную можно объявить в процедуре, блоке, классе, структуре или модуле. Нельзя объявить переменную в исходном файле, пространстве имен или интерфейсе. Дополнительные сведения см. в разделе Контексты объявления и уровни доступа по умолчанию.

Если Option Explicit параметр имеет значение On (значение по умолчанию), компилятору требуется объявление для каждой используемой переменной. Дополнительные сведения см. в разделе оператор Option Explicit.

Указание начального значения

Определение типа применяется на уровне процедуры. Он не применяется за пределами процедуры в классе, структуре, модуле или интерфейсе. Дополнительные сведения о выводе типа см. в разделе Option Infer и определение локального типа.

Сведения о том, что происходит, если не указан тип данных или инициализатор, см. в подразделе типы данных и значения по умолчанию далее в этой статье.

Инициализатор объекта можно использовать для объявления экземпляров именованных и анонимных типов. Следующий код создает экземпляр Student класса и использует инициализатор объекта для инициализации свойств.

Объявление нескольких переменных

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

Если объявить более одной переменной с одним As предложением, вы не сможете предоставить инициализатор для этой группы переменных.

Можно указать различные типы данных для разных переменных, используя отдельное As предложение для каждой объявляемой переменной. Каждая переменная принимает тип данных, указанный в первом As предложении, обнаруженном после его variablename части.

Массивы

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

Можно указать нижнюю и верхнюю границы каждого измерения массива. Для этого добавьте в boundslist круглые скобки. Для каждого измерения объект boundslist задает верхнюю границу и, при необходимости, нижнюю границу. Нижняя граница всегда равна нулю, независимо от того, указана она или нет. Каждый индекс может изменяться от нуля до значения его верхней границы.

Следующие две инструкции эквивалентны. Каждый оператор объявляет массив из 21 Integer элемента. При доступе к массиву индекс может изменяться от 0 до 20.

Массив может иметь размер от 1 до 32.

Все границы в объявлении массива можно оставить пустыми. В этом случае массив имеет указанное число измерений, но не инициализировано. Он имеет значение Nothing до тех пор, пока не будет инициализировано по крайней мере часть его элементов. В Dim инструкции должны быть указаны границы для всех измерений или для отсутствия измерений.

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

Значения массива можно инициализировать с помощью литерала массива. Для этого заключите значения инициализации в фигурные скобки ( <> ).

Для многомерных массивов инициализация каждого отдельного измерения заключается в фигурные скобки во внешнем измерении. Элементы задаются в построчном порядке.

Дополнительные сведения о литералах массивов см. в разделе массивы.

Типы данных и значения по умолчанию

Если параметр Option Strict включен, возникает ошибка времени при компиляции.нетДаDim qty = 5Если параметр Infer имеет значение On (значение по умолчанию), переменная принимает тип данных инициализатора. См. раздел определение локального типа.

Если параметр Option Infer отключен, а параметр Option Strict включен, возникает ошибка времени компиляции.ДанетDim qty As IntegerПеременная инициализируется со значением по умолчанию для типа данных. См. таблицу далее в этом разделе.ДаДаDim qty As Integer = 5Если тип данных инициализатора нельзя преобразовать в указанный тип данных, возникает ошибка времени компиляции.

если указать тип данных, но не указать инициализатор, Visual Basic инициализирует переменную как значение по умолчанию для ее типа данных. В следующей таблице приведены значения инициализации по умолчанию.

Каждый элемент структуры инициализируется так, как если бы он был отдельной переменной. Если вы объявили длину массива, но не инициализируйте его элементы, каждый элемент инициализируется так, как если бы он был отдельной переменной.

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

Объявление процедурыПеременная инициализированаПеременная останавливается
В модулеПри первом вызове процедурыПри остановке выполнения программы
В классе или структуре процедура SharedПри первом вызове процедуры либо в определенном экземпляре, либо в самом классе или структуре.При остановке выполнения программы
В классе или структуре процедура не SharedПри первом вызове процедуры в определенном экземпляреКогда экземпляр выпускается для сборки мусора (GC)

Атрибуты и модификаторы

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

Код за пределами класса, структуры или модуля должен уточнять имя переменной-члена именем этого класса, структуры или модуля. Код за пределами процедуры или блока не может ссылаться на локальные переменные в этой процедуре или блоке.

Освобождение управляемых ресурсов

Если класс принадлежит особому ценному и ограниченному ресурсу (например, к подключению к базе данных или файлу), может возникнуть необходимость в ожидании следующей сборки мусора для очистки экземпляра класса, который больше не используется. Класс может реализовать интерфейс, IDisposable чтобы предоставить способ освобождения ресурсов перед сборкой мусора. Класс, реализующий этот интерфейс, предоставляет Dispose метод, который может быть вызван для немедленного освобождения ценных ресурсов.

Using Инструкция автоматизирует процесс получения ресурса, выполнения набора инструкций и последующего удаления ресурса. Однако ресурс должен реализовывать IDisposable интерфейс. Дополнительные сведения см. в разделе Оператор using.

Пример 1

В следующем примере переменные объявляются с помощью Dim инструкции с различными параметрами.

Пример 2

В следующем примере выводятся простые числа от 1 до 30. Область локальных переменных описывается в разделе Комментарии к коду.

Пример 3

В следующем примере speedValue переменная объявляется на уровне класса. Private Ключевое слово используется для объявления переменной. Доступ к переменной может осуществляться любой процедурой в Car классе.

Источник

Оператор Dim

Объявляет переменные и распределяет дисковое пространство.

Синтаксис

Dim [ WithEvents ] varname [ ( [ subscripts ] ] ] [ As [New ] type ] [ [ WithEvents ] varname [ subscripts] ] ] [ As [ New ] type ].

Синтаксис оператора Dim состоит из следующих частей:

Если явно не указано в нижней части, нижняя граница массива контролируется заявлением Option Base. Если оператор Option Base не задан, нижняя граница равна нулю.NewНеобязательное. Ключевое слово, позволяющее создать объект неявным образом. Если при объявлении переменной объекта используется New, по первой ссылке на него создается новый экземпляр объекта, поэтому для назначения ссылки на объект не нужно использовать заявление Set.

Примечания

Переменные, объявляемые с помощью оператора Dim на уровне модуля, доступны всем процедурам внутри этого модуля. На уровне процедуры переменные доступны только внутри соответствующей процедуры.

Чтобы объявить тип данных переменной, используйте заявление Dim на уровне модуля или процедуры. Например, следующий оператор объявляет переменную с типом Integer.

Также используйте оператор Dim для объявления типа объекта переменной. В следующем примере объявляется переменная для нового экземпляра листа.

Если ключевое слово New не используется при объявлении переменной объекта, переменная, ссылающаяся на объект, должна быть назначена существующему объекту с помощью утверждения Set перед его использованием. Пока она не назначена объекту, объявленная объектная переменная имеет особое значение Nothing, указывающее на отсутствие ссылки на какой-либо конкретный экземпляр объекта.

Вы можете также использовать оператор Dim с пустыми скобками для объявления динамического массива. Объявив динамический массив, используйте заявление ReDim в процедуре, чтобы определить количество измерений и элементов в массиве. Если вы пытаетесь перенастроить измерение для переменной массива, размер которой был явно указан в частном, публичном или дим-заявлении, возникает ошибка.

Если вы не указываете тип данных или тип объекта, а в модуле нет Def_type_, переменная по умолчанию является Variant. При инициализации переменных числовой переменной присваивается значение 0, строке переменной длины — строка нулевой длины («»), а строка фиксированной длины заполняется нулями. Переменные типа Variant при инициализации получают значение Empty. Каждый элемент переменной определяемого пользователем типа инициализируется как отдельная переменная.

Когда оператор Dim используется в процедуре, обычно этот оператор Dim располагают в начале этой процедуры

Пример

В этом примере показывается, как используется оператор Dim для объявления переменных. В нем также показывается, как оператор Dim используется для объявления массивов. Нижний предел по умолчанию для подскрипников массива — 0 и может быть переопределен на уровне модуля с помощью утверждения Option Base.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *