Объявление переменных

Если вы когда-либо программировали какие-либо макросы, вы, вероятно, знакомы с тем, как определять переменные с помощью ключевого слова Dim. Например, вы можете определить целочисленную переменную с именем MyVar следующим образом:

Dim MyVar As Integer

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

Dim x, y, z As Integer

В некоторых версиях BASIC, это определит и инициализирует три переменные, каждая из которых является целым числом. В VBA также кажется, что он работает правильно, и никаких ошибок не возникает. Однако есть небольшая проблема – только последняя переменная (z) фактически определяется как целое число. Вы можете увидеть, как это работает, используя следующий код:

Sub DimTest () Dim x, y, z As Integer Dim sTemp As String sTemp = «x is type» & VarType (x) & vbCrLf sTemp = sTemp & «y is type» & VarType (y) & vbCrLf sTemp = sTemp = sTemp & «z is type» & VarType (z) MsgBox sTempEnd Sub

При запуске макроса окно сообщения показывает, что тип переменной для x и y равен 0, что означает, что переменная является вариантом (тип данных по умолчанию для необъявленных переменных). Только последнее окно сообщения (для z) показывает тип переменной 2, что означает целое число.

Решение состоит в том, чтобы убедиться, что вы объявляете переменные по одной в каждой строке или используете полный синтаксис для каждой переменной, как показано ниже:

Dim x As Integer, y As Integer, z As Integer

Источник: frestage.ru

Бытовой вопрос