У меня была похожая проблема с целым числом, которое могло быть законно присвоено 0 в Access VBA.Ни одно из перечисленных выше решений не сработало для меня.
Сначала я просто использовал логические выражения var и IF:
Dim i as integer, bol as boolean
If bol = false then
i = ValueIWantToAssign
bol = True
End If
В моем случае, мое целочисленное назначение переменныхбыл внутри цикла for и другого оператора IF, поэтому я вместо этого использовал «Exit For», поскольку это было более кратким.
Примерно так:
Dim i as integer
ForLoopStart
If ConditionIsMet Then
i = ValueIWantToAssign
Exit For
End If
ForLoopEnd