2016-02-23 4 views
0

У меня есть следующий код Extract VBA,VBA Variant Array - тест на пустой не работает с целочисленным значением 0

Dim ERA_Curves AS Variant 
ReDim ERA_Curves(2000,19) 

ERA_Curves (350,4) = 0 

тогда, когда я проверить

ERA_Curves(350,4) <> Empty 

возвращает ' False '

Не должно ли оно возвращать True, так как оно получило некоторое значение в памяти? Я хочу проверить, действительно ли память пуста (не назначена никаким типом значения), я что-то пропустил?

ответ

1

Вам нужен IsEmpty function - используется так:

If IsEmpty(ERA_Curves(350, 4)) Then 

Сравнивая вещи Слейте с <,> и т.д. не работает, но вы можете назначить Empty непосредственно на вариант, если вы хотите:

ERA_Curves(350, 4) = 0 

If IsEmpty(ERA_Curves(350, 4)) Then 
    MsgBox "empty" 
Else 
    MsgBox "not empty" 
End If 

ERA_Curves(350, 4) = Empty 

If IsEmpty(ERA_Curves(350, 4)) Then 
    MsgBox "empty" 
Else 
    MsgBox "not empty" 
End If 
+0

работает как очарование! Благодарю. – lukieleetronic