Переменная очистки Vba Excel

Обновлено: 05.07.2024

В этом учебнике по работе с макросами Excel VBA показано, как очистить или стереть все элементы, содержащиеся в переменной статического массива. Это означает, что все текстовые строки будут преобразованы в пустые строки, а все числа — в нули. Однако этот метод не изменит и не изменит размер статического массива.

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

< td >3:47< td >Преобразование строки или слов в массив в VBA
Учебник Длина
(мм:сс)
Офисная программа
Что такое массив в VBA? 2:17 Microsoft Office Excel
Создать статический Переменная массива в VBA 9:32 Microsoft Office Excel
Сохранение значений в массиве в VBA Microsoft Office Excel
Вывод значений из массива в VBA 4:15 Microsoft Office Excel
Получить количество элементов в массиве в VBA 9:11 Microsoft Office Excel
Определение первого и последнего порядкового номера массива в VBA 4:49 Microsoft Office Excel
Создать переменную динамического массива в VBA 19:36 Microsoft Office Excel
Проход через переменную статического массива в VBA 8:23 Microsoft Office Excel
Проход через динамический массив y Переменная в VBA 8:52 Microsoft Office Excel
Увеличение или уменьшение размера динамического массива в VBA< /td> 6:30 Microsoft Office Excel
Добавить элементы в переменную динамического массива в VBA 5 :45 Microsoft Office Excel
Добавление элементов в переменную динамического массива в VBA с помощью цикла 8:16 Microsoft Office Excel
Очистить или стереть все значения в переменной статического массива в VBA 5:50 Microsoft Office Excel
Очистить или стереть все значения в переменной динамического массива в VBA 5:35 Microsoft Office Excel
Проверить, является ли переменная массивом в VBA 3:14 Microsoft Office Excel
Укажите нижнюю границу или первый номер индекса массива 7:32 Microsoft Office Excel
7:31 Microsoft Office Excel
Преобразование массива в строку в VBA 6:01 Microsoft Office Excel

Очистить или стереть все значения в переменной динамического массива в VBA

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

Длина урока (мм:сс): 5:35
Программа Microsoft Office: Microsoft Office Excel
Ключевые слова: обучение макросу excel vba визуальный базовый динамический массив очистить стереть удалить значения элементы элементы

Проверить, является ли переменная массивом в VBA

В этом учебнике по работе с макросами Excel VBA показано, как проверить, является ли переменная переменной массива или обычной переменной в VBA. Этот метод работает одинаково для статических и динамических переменных массива.

Длина урока (мм:сс): 3:14
Программа Microsoft Office: Microsoft Office Excel
Ключевые слова: обучение макросу excel vba Visual Basic Проверка массива переменных isarray Определение статики динамический

Укажите нижнюю границу или первый номер индекса массива

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

Длина урока (мм:сс): 7:32
Программа Microsoft Office: Microsoft Office Excel
Ключевые слова: обучение макросу excel vba visual basic array static dynamic first index number базовый набор параметров нижней границы

Преобразование строки или слов в массив в VBA

В этом учебнике по работе с макросами Excel VBA показано, как преобразовать строку слов в массив в VBA. Это позволит вам разбить слова или фразы на отдельные элементы в переменной массива.Помещение этого типа данных в массив позволит вам создавать более универсальные и мощные макросы.

Длина урока (мм:сс): 7:31
Программа Microsoft Office: Microsoft Office Excel
Ключевые слова: обучение макросу excel vba visual basic array преобразование строковых слов разделение ключевых слов

Преобразование массива в строку в VBA

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

Длина урока (мм:сс): 6:01
Программа Microsoft Office: Microsoft Office Excel
Ключевые слова: обучение макросу excel vba визуальный базовый массив строк преобразование слов объединение ключевых слов

Microsoft Office и все связанные названия программ и логотипы являются зарегистрированными товарными знаками корпорации Microsoft.

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

Переменная уровня процедуры

Эти переменные можно использовать только внутри подпроцедуры или функции, в которой они объявлены. Вы должны объявить переменную уровня процедуры с помощью ключевого слова Dim. Кроме того, вы должны поместить его в интересующую подпроцедуру или функцию. Способ объявления переменной уровня процедуры показан в приведенном ниже коде:

Procure Level Variable in VBA

Эту переменную можно использовать только в подпроцедуре DeclaringAProcedureLevelVariable(). Поскольку именно в этой подпроцедуре мы использовали ключевое слово Dim. Если вы вызовете ее из другой подпроцедуры, вы получите следующую ошибку компиляции:

Объявление переменной в Уровень процедуры, а затем получение ошибки

Переменная уровня модуля

Вы можете использовать переменную уровня модуля в любой из подпроцедур или функций в том же модуле. Вам нужно разместить объявление переменной в верхней части модуля в разделе «Объявления» под оператором Option Explicit и использовать ключевое слово Dim:

Объявление Переменная уровня модуля

Использование уровня модуля Переменная в VBA

Когда мы запускаем вторую подпроцедуру вместо сообщения об ошибке, мы получаем следующий результат в ячейке A1 рабочей книги:

Переменная глобального уровня

Объявление Переменная глобального уровня

Вы можете использовать глобальную переменную в своих модулях, функциях, подпроцедурах и классах. Вы объявляете глобальную переменную в разделе объявлений в операторе Options Explicit и используете ключевое слово Global. Способ объявления переменной глобального уровня показан ниже. Обе подпроцедуры в Module1 могут использовать эту переменную.

Поскольку эта переменная является переменной глобального уровня, вы также можете использовать ее в Module2:

Использование глобальной переменной в другом модуле

Когда вы запускаете этот код из Module2, вы получаете следующий результат:

Использование глобальной переменной в другом Модуль

Программирование VBA стало проще

vba сохранить как

Прекратите искать код VBA в Интернете. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам создавать процедуры с нуля с минимальными знаниями в области кодирования и множеством функций, позволяющих сэкономить время для всех пользователей!

Star Active
Star Active
Star Active
Star Active
Star Active

В excel vba мы часто ссылаемся на пустую переменную, ZLS (строку нулевой длины) или нулевую строку или vbNullString, нулевое значение, отсутствующий аргумент или используем ключевое слово Nothing с объектной переменной. Важно различать и понимать эти термины и выражения при использовании их в коде vba. В этом разделе мы также поймем, как использовать функцию VarType для определения подтипа переменной, использовать функции IsEmpty и IsNull для проверки пустых и нулевых значений и использовать функцию IsMissing для проверки того, были ли переданы необязательные аргументы в процедуре. или нет.

Пусто

Когда вы объявляете переменную в своем коде с помощью инструкции Dim, вы выделяете достаточно памяти для этой переменной (а именно, 2 байта для логической или целочисленной переменной, 4 байта для длинной переменной и т. д.) и что информация, хранящаяся в переменной, имеет допустимый диапазон (True или False для логической переменной, целое число от -32 768 до 32 767 для целочисленной переменной, целое число от -2 147 483 648 до 2 147 483 647 для переменной подтипа Long, и так далее). Вы получите ошибку времени выполнения, если попытаетесь присвоить строковое значение переменной, объявленной как Integer.

При объявлении переменной, если вы не укажете ее тип данных или если вы вообще не объявите переменную, по умолчанию будет использоваться тип данных Variant, который может содержать данные любого типа (строка, дата, время, логическое значение или числовые значения) и может автоматически преобразовывать содержащиеся в нем значения. Однако недостатком является то, что это заставляет Excel резервировать больше памяти, чем требуется (не менее 16 байт), а также может привести к опечатке имени переменной и незнанию ее, а именно. вместо rowNumber можно ввести rowNumber.

При запуске макроса все переменные инициализируются со значением по умолчанию. Начальное значение по умолчанию: для числовой переменной равно нулю; для строки переменной длины это нулевая или пустая строка (""); строка фиксированной длины инициализируется кодом ASCII 0 или Chr(0); объектная переменная по умолчанию имеет значение Nothing; переменная Variant инициализируется как Empty. В числовом контексте пустая переменная обозначает ноль, а в строковом контексте пустая переменная представляет собой строку нулевой длины ("") . Строка нулевой длины ("") также называется нулевой строкой. Однако рекомендуется явно указать начальное значение для переменной, а не полагаться на ее начальное значение по умолчанию.

Пустой означает, что переменной Variant не присвоено начальное значение, т.е. переменная, которая не была инициализирована. Пустая переменная представлена ​​как 0 в числовом контексте или как строка нулевой длины ("") в строковом контексте. Пусто — это не то же самое, что Null, что указывает на то, что переменная не содержит допустимых данных.

Ключевое слово Empty указывает на неинициализированное значение переменной. Он используется как подтип Variant. Вы можете назначить пустое ключевое слово, чтобы явно установить пустую переменную.

Пустая функция

Используйте функцию IsEmpty, чтобы проверить, была ли инициализирована переменная. Функция возвращает логическое значение — возвращает True для неинициализированной переменной или если для переменной явно задано значение Empty, в противном случае функция возвращает False. Синтаксис: IsEmpty(выражение), где выражение — это переменная Variant, которую вы хотите проверить. Ниже приведены примеры, в которых мы используем эту функцию, чтобы проверить, пуста ли переменная варианта.

Пустой, Пустой, ZLS (строка нулевой длины), нулевая строка и vbNullString

ZLS означает строку нулевой длины (""), также называемую нулевой строкой и имеющую нулевую длину (0). Для всех практических целей использование vbNullString эквивалентно строке нулевой длины (""), потому что VBA интерпретирует обе одинаковым образом, хотя на самом деле они не совпадают - "строка нулевой длины" фактически означает создание строки без символов, тогда как vbNullString — это константа, используемая для нулевого указателя, что означает, что строка не создается, а также более эффективна или быстрее для выполнения, чем ZLS. Вы можете использовать "" или vbNullString в качестве альтернативы в своем коде, и оба ведут себя одинаково. Обратите внимание, что в vba нет пустого ключевого слова, но мы можем ссылаться на «пустые ячейки» или «пустые ячейки» в электронной таблице Excel.Существуют функции рабочего листа Excel для пустых ячеек: (i) функция COUNTA подсчитывает количество непустых ячеек, а также подсчитывает или включает ячейку с пустым текстом ("") - также называется пустой строкой или строкой нулевой длины. - что не считается пустой ячейкой; и (ii) функция ЕПУСТО возвращает Истинно для пустой ячейки и не обрабатывает строку нулевой длины ("") как пустую (пустую ячейку), как в СЧЁТЕЗ. Обе функции рабочего листа ЕПУСТО и СЧЁТЗ различают пустую ячейку и ячейку, содержащую строку нулевой длины (т. е. "" в результате формулы).

Функция VarType

Пример — Пустая переменная:

Sub EmptyVar()
'Пустая переменная

'переменная var1 не была объявлена, следовательно, это тип данных Variant:

'возвращает 0, указывая на пустой подтип переменной:

'возвращает True, указывая на пустой подтип переменной:

'возвращает False — это пустая переменная, а не нулевая переменная — переменной Variant не присвоено начальное значение:

'Пустой указывает на переменную Variant, для которой вы явно не указываете начальное значение, которое по умолчанию инициализируется в VBA значением, представленным как нулем, так и строкой нулевой длины.

'возвращает оба сообщения, как показано ниже:

Если переменная1 = 0, то

MsgBox "Пустая переменная представлена ​​как ноль"

MsgBox "Пустая переменная, представленная в виде строки нулевой длины"

Конец подписки

Пример — Проверка на наличие пустого:

Sub EmptyCheck()
'проверка на Пусто

Затемнить var1 как вариант

'переменная не инициализирована — возвращает 0, что указывает на пустой подтип переменной:

'возвращает True, указывая на пустой подтип переменной:

'инициализировать переменную, указав строковое значение:

'возвращает 8, указывая подтип переменной String:

'возвращает False, указывая, что переменная не пуста:

'назначить пустое ключевое слово, чтобы установить пустую переменную:

'возвращает 0, указывая на пустой подтип переменной:

'возвращает True, указывая на то, что переменная пуста:

'возвращает True для пустой ячейки рабочего листа, иначе False:

Конец подписки

Пример. Инициализация переменной Variant:

Sub VarInitialized()
'инициализированная переменная

Затемнить var1 как вариант

'переменная была инициализирована строкой нулевой длины (""):

'возвращает False, указывая на то, что переменная НЕ пуста:

'возвращает 8, указывая подтип переменной String:

'returns - "Значение переменной является строкой нулевой длины"

MsgBox "Значение переменной представляет собой строку нулевой длины"

MsgBox "Значение переменной НЕ является строкой нулевой длины"

'возвращает - "Значение переменной НЕ равно нулю"

Если переменная1 = 0, то

MsgBox "Значение переменной равно нулю"

MsgBox "Значение переменной НЕ равно нулю"

Конец подписки

Пример. Проверка строки нулевой длины:

Sub CheckZLS()
'проверить строку нулевой длины

Затемнить var1 как вариант

'переменная не инициализирована – возвращает 0, что указывает на подтип переменной Empty – представлен как нулевой (0) и строкой нулевой длины (Null):

'возвращает "Истина" для всех приведенных ниже операторов If:

Если var1 = vbNullString Тогда

Если Len(var1) = 0, то

Конец подписки

Нулевой

В VBA ключевое слово Null используется для обозначения того, что переменная не содержит допустимых данных. Значение, указывающее, что переменная не содержит допустимых данных. Null является результатом - (i) если вы явно присваиваете Null переменной или (ii) если вы выполняете какую-либо операцию между выражениями, содержащими Null. Ключевое слово Null используется как подтип Variant, т.е. только переменная Variant может быть Null, а переменная любого другого подтипа выдаст ошибку. Null – это не то же самое, что строка нулевой длины (""), а Null – это не то же самое, что Empty, что указывает на то, что переменная еще не инициализирована.

Если вы попытаетесь получить значение переменной Null или выражение, которое имеет значение Null, вы получите сообщение об ошибке "Недопустимое использование значения Null" (ошибка времени выполнения 94). Вам нужно будет убедиться, что переменная содержит допустимое значение. См. изображение 1.

Функция IsNull

Функция IsNull возвращает логическое значение — True для выражения, которое равно Null (не содержит допустимых данных), или False для выражения, которое содержит допустимые данные. Синтаксис: IsNull(выражение). Аргумент выражения — это вариант, который содержит числовое или строковое значение, и его необходимо указать.

Пример — целочисленная переменная:

Sub VarInteger()
'переменной подтипа Integer не присвоено начальное значение

Размерить переменную int как целое число

'возвращает False (intVar не Null и не Empty) - начальное значение не было присвоено переменной подтипа Integer:

'возвращает 2, указывая подтип переменной Integer:

'returns - "Значение переменной равно нулю" (начальное значение по умолчанию для числовой переменной равно нулю)

Если intVar = 0, то

MsgBox "Значение переменной равно нулю"

MsgBox "Значение переменной НЕ равно нулю"

Конец подписки

Пример. Оценка пустой/нулевой переменной, использование функций IsNull и VarType vba:

Sub EmptyNullVar()
'оценить переменную Empty / Null, использовать функции vba IsNull и VarType.

Затемнить var1 как вариант

'возвращает False, var1 не Null, а пустая переменная (переменной Variant не присвоено начальное значение):

'переменная не инициализирована — возвращает 0, что указывает на пустой подтип переменной:

'возвращает сообщение, поскольку переменная var1 является пустой:

Если var1 = 0 и var1 = vbNullString, то

MsgBox "Пустая переменная, представленная как нулевая (0) и нулевая (пустая) строка"

'переменная инициализируется строкой нулевой длины ("") или vbNullString:

'возвращает False - var1 не является нулевой переменной:

'возвращает 8, указывая подтип переменной String:

'явное присвоение Null переменной:

'возвращает True для переменной Null, не содержащей допустимых данных:

'возвращает 1, что указывает на подтип переменной Null:

'явное присвоение допустимых данных переменной:

'возвращает False для переменной, содержащей допустимые данные:

'возвращает 2, указывая подтип переменной Integer:

'возвращает False для выражения, содержащего допустимые данные:

Конец подписки

Пример. Проверка переменной Null:

Sub CheckNull()
'проверить переменную Null

'явное присвоение Null переменной:

'возвращает 1, что указывает на подтип переменной Null:

'возвращает сообщение, указывающее подтип переменной Null:

Если VarType(var1) = vbNull Тогда

MsgBox "Пулевая переменная"

'выражение, содержащее Null, также оценивается как Null:

'возвращает 1, что указывает на подтип переменной Null:

Конец подписки

Пример. Проверка ячейки листа на наличие пустых, ZLS, нулевых значений:

Sub WorksheetCell_ZLS_Empty_Null()
'проверить ячейку листа на наличие пустых, ZLS, нулевых значений

Затемнить var1 как вариант

'В случае, когда ActiveCell пуст:

'возвращает True для пустой ячейки:

MsgBox ActiveCell.Value = vbNullString

MsgBox ActiveCell.Value = 0

'присвоить значение активной ячейки переменной:

MsgBox var1 = vbNullString

MsgBox VarType(var1) = vbNull

'возвращает 0, указывая на пустой подтип переменной:

'Если вы введете "" в активную ячейку, т.е. активная ячейка содержит значение: = ""
'возвращает True:

MsgBox ActiveCell.Value = vbNullString

MsgBox ActiveCell.Value = 0

Конец подписки

Ничего

Назначение ключевого слова Nothing переменной объекта отменяет связь переменной с фактическим объектом. Ничего не присваивается объектной переменной с помощью оператора Set. Вы можете назначить один и тот же фактический объект нескольким объектным переменным в коде vba, и эта ассоциация использует ваши системные ресурсы и память. Системные ресурсы и память освобождаются только после того, как вы присвоите значение Nothing всем объектным переменным с помощью оператора Set, который отделяет эти переменные от фактического объекта, или когда все объектные переменные выходят за пределы области видимости и уничтожаются. Рекомендуется явно установить для всех объектных переменных значение Nothing в конце вашей процедуры или даже раньше во время выполнения вашего кода, когда вы закончите их использовать, и это освободит память, выделенную для этих переменных.

Определить, инициализирована ли объектная переменная - используйте Is Nothing для объектов: чтобы проверить, был ли объект назначен или установлен, используйте ключевое слово Is с Nothing, а именно. Если object_variable ничего не значит. Для объектов вы не можете проверить, равна ли object_variable чему-либо, и использование = вместо Is приведет к ошибке.

Пример. Использование ключевого слова Nothing с объектной переменной:

Sub ObjNothing()
'используя ключевое слово Nothing с объектной переменной

Затемнить objVar как объект

'возвращает True, поскольку вы еще не присвоили фактический объект объектной переменной:

Объектная переменная MsgBox ничего не значит

Установить objVar = ActiveSheet

'возвращает False, потому что вы присвоили фактический объект (Лист) объектной переменной:

Объектная переменная MsgBox ничего не значит

Установите objVar = Ничего

'возвращает "Переменная, не связанная с фактическим объектом", потому что вы отсоединили объектную переменную от фактического объекта:

Если objVar ничто, то

MsgBox "Переменная не связана с реальным объектом"

MsgBox "Действительный объект назначается переменной объекта"

Конец подписки

Отсутствует

Передача аргументов в процедуры. Когда внешнее значение должно использоваться процедурой для выполнения действия, оно передается в процедуру через переменные. Эти переменные, которые передаются процедуре, называются аргументами. Аргумент — это значение, передаваемое вызывающим кодом процедуре при ее вызове. Когда набор круглых скобок после имени процедуры в операторе объявления Sub или Function пуст, это случай, когда процедура не получает аргументов.Однако когда аргументы передаются процедуре из других процедур, они перечисляются или объявляются в круглых скобках.

Необязательные аргументы. Аргументы можно указать как необязательные, используя ключевое слово «Необязательный» перед аргументом слева от него. Когда вы указываете аргумент как необязательный, все остальные аргументы, следующие за этим аргументом справа, должны

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

Проверьте, отсутствует ли аргумент, используя функцию IsMissing: Необязательный аргумент должен быть (хотя и не обязательно) объявлен как тип данных Variant, чтобы можно было использовать функцию IsMissing, которая работает только при использовании с переменными, объявленными как тип данных Variant. Функция IsMissing используется для определения того, был ли передан необязательный аргумент в процедуру или нет, и затем вы можете соответствующим образом изменить свой код, не возвращая ошибку. Если необязательный аргумент не объявлен как Variant, и в этом случае функция IsMissing не будет работать, необязательному аргументу будет присвоено значение по умолчанию для его типа данных, которое равно 0 для переменных числового типа данных (а именно, Integer, Double и т. д.) и Ничего (нулевая ссылка) для переменных типа данных String или Object.

Функция IsMissing. Функция IsMissing используется для проверки того, переданы ли в процедуру необязательные аргументы Variant. Синтаксис: IsMissing(argname). Функция возвращает логическое значение — True, если для необязательного аргумента не передано значение, и False, если для необязательного аргумента было передано значение. Если функция IsMissing возвращает True для аргумента, использование отсутствующего аргумента в коде вызовет ошибку, и, таким образом, использование этой функции поможет соответствующим образом скорректировать ваш код.

Пример использования функции IsMissing для проверки отсутствия аргумента:

Function FullName(strFirstName As String, Optional strSecondName As Variant) As String
'Объявление процедуры содержит два аргумента, второй аргумент указывается как необязательный. Объявление дополнительного аргумента как типа данных Variant позволит использовать функцию IsMissing.

'Функция IsMissing используется для определения того, был ли передан необязательный аргумент в процедуру, и если нет, вы можете соответствующим образом изменить свой код, не возвращая ошибку.

Если IsMissing(strSecondName), то

Полное имя = strFirstName & " " & strSecondName

Завершить функцию

Подпрограмма GetName()

Затемнить strGivenName как строку

strGivenName = InputBox("Введите данное имя")

'с указанием только первого аргумента и опусканием второго аргумента, который является необязательным:


Дата присоединения к новому участнику: август 2005 г. Местоположение Хьюстон, Техас Сообщения 7

Удалить все переменные? Пожалуйста???

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

Я узнал, что переменные, объявленные на уровне модуля, в отличие от уровня процедуры, на самом деле сохраняют свои значения после номинального завершения кода, и я также знаю, что вы можете очистить отдельные переменные, установив для них значение null. Чего я не знаю, так это того, как очистить все переменные сразу, независимо от того, сколько их и как они называются.

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

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

Fanatic Member Регистрация Дата июля 2005 г. Местоположение Дарлингтон, Северо-Восток Великобритании Сообщения 677

Первоначальное сообщение от agleinmiller

Я узнал, что переменные, объявленные на уровне модуля, а не на уровне процедуры, фактически сохраняют свои значения после номинального завершения кода

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

Глобальные, общедоступные и переменные Dim'd в разделе объявлений модуля становятся доступными во всем проекте.

Никогда не думайте о невозможном

Если вы найдете мой ответ полезным, добавьте его в мою репутацию


Дата присоединения к новому участнику: август 2005 г. Местоположение Хьюстон, Техас Сообщения 7

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

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

Fanatic Member Регистрация Дата июля 2005 г. Местоположение Дарлингтон, Северо-Восток Великобритании Сообщения 677

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

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

Никогда не думайте о невозможном

Если вы найдете мой ответ полезным, добавьте его в мою репутацию


Дата присоединения к новому участнику: август 2005 г. Местоположение Хьюстон, Техас Сообщения 7

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

насколько я понимаю, это верно, когда вы делаете приватное объявление только на уровне модуля, что на самом деле то же самое, что и использование оператора dim на уровне модуля. если вы используете публичное объявление на уровне модуля, то переменная доступна как вне проекта, так и во всем модуле. насколько я знаю, вы не можете использовать общедоступные или частные объявления на уровне процедуры.

чтобы уточнить, я хочу объявить переменные таким образом, чтобы они использовались несколькими процедурами в одном модуле, и я хочу каким-то образом очистить их значения в начале и/или в конце выполнения кода.

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


Присоединение к Lively Member Дата июля 2005 г. Местоположение Огайо Сообщений 64

Читайте также: