在VBA中,如何将数组设置为空?

问题描述 投票:0回答:2

现在,在你说之前 - 我已经阅读了数十个类似的主题,但找不到解决方案。我有一个动态 Variant 数组,必须将其完全清除,因此在 IsEmpty 检查期间将其视为空。我尝试了 Erase,但 IsEmpty 仍然返回 False。我无法对其进行 ReDim,因为该数组是动态的。尝试将整个数组设置为 Nothing,但这在 IsEmpty 检查期间引发错误。

我做错了什么,如何完全消除该数组,以便 IsEmpty 返回 True?

arrays vba is-empty
2个回答
7
投票

您可以将关键字

Empty
分配给 Variant 变量。

Public Sub Hello()

    Dim vArray As Variant

    vArray = Array("a", "b", "c")

    Debug.Print IsEmpty(vArray) 'prints false

    vArray = Empty

    Debug.Print IsEmpty(vArray) 'prints true

End Sub

0
投票

您可以使用Erase语句。

Erase vArray
© www.soinside.com 2019 - 2024. All rights reserved.