У меня есть следующие функции для проверки существования переменной:VBA: Проверьте, если переменная существует
Private Function DoesVariableExist(Optional valuePassed As Variant) As Boolean
If Not IsMissing(valuePassed) And Not IsEmpty(valuePassed) Then
DoesVariableExist = True
End If
End Function
Идея заключается в том, что если переменная не существует, я могу запустить другой код, чем если он существует.
Код работает нормально, пока я удаляю линию Option Explicit
с модуля. В этой строке я получаю ошибку компилятора «Variable not defined», потому что, конечно, это то, что я проверяю. Это небольшой модуль с несколькими процедурами, поэтому я мог бы избежать неприятностей, не требуя объявления переменных, но это не хорошая практика кодирования. Итак, какова альтернатива?
Храните 'Option Explicit' и исправьте код. Вы просите о неприятностях здесь, если разные кодовые блоки делают одно и то же в зависимости от объявления переменной. – ja72
Это не мой код для «исправления». Это общий код, который используется повторно для проектов, которые могут иметь или не иметь определенную переменную. – phrebh