vb数组名词解释(VBA如何判断数组是空值,这个难题告诉你怎么解决)

数组在VBA编程中是一项很重要的内容,掌握和学习是一个最基本的环节。

如果对数组运用得当,那么将对数据表格操作有一个很大的帮助作用。

但是vba操作当中,对于数组的判定有一个缺点,无法用相关的函数或方法来判断一个数组是否已经定义,只能判断一个变量是不是数组,函数:isArray即是此功能。

下面就利用一个API函数来进行判断处理,如下图所示:

API指定为Windows系统,其它系统不适用。

这个函数Windows系统自带的文件内部,所以,如果系统文件没有缺失,完全可以正常使用。

具体代码如下图所示:

vb数组

如果一个数组已经定义或赋值用如下代码判断:

Private Declare Function SafeArrayGetDim Lib "oleaut32.dll" (ByRef saArray() As Any) As Long Private Sub CommandButton1_Click() Dim arr() ReDim arr(0 To 10) arr = Array(1, 2, 3, 4, 5) MsgBox SafeArrayGetDim(arr) If SafeArrayGetDim(arr) = 0 Then '如果值为0表示数组为空或没有初始化 MsgBox "Null: 没有初始化数组" Else MsgBox "isTrue 数组已经定义或有值存在!" MsgBox Join(arr) End If End Sub

如果一个数组初始化或未赋值用如下代码判断:

Private Sub CommandButton2_Click() Dim arr() MsgBox SafeArrayGetDim(arr) If SafeArrayGetDim(arr) = 0 Then '如果值为0表示数组为空或没有初始化 MsgBox "Null: 没有初始化数组" Else MsgBox "isTrue 数组已经定义或有值存在!" MsgBox Join(arr) End If End Sub

判断一个变量是不是数组类型:

Dim arr MsgBox VBA.IsArray(arr) 'arr 不是数组类型 Dim arr() MsgBox VBA.IsArray(arr) 'arr 是数组类型

数组是一个十分有用的类型,所以在编程过程中将不可避免用到,在此有必要将这些内容进行整理或收藏,以备查询使用。

欢迎关注、收藏

---END---

您可以还会对下面的文章感兴趣

最新评论

  1. 溺爱你
    溺爱你
    发布于:2022-04-27 09:13:59 回复TA
    MsgBox "isTrue 数组已经定义或有值存在!" MsgBox Join(arr)End IfEnd Sub判断一个变量是不是数组类型:Dim arrMsgBox VBA.IsArray(arr) &#
  1. 索晴行婉
    索晴行婉
    发布于:2022-04-27 05:13:21 回复TA
    哈哈哈
  1. 寇英生杰
    寇英生杰
    发布于:2022-04-27 05:13:21 回复TA
    爱情没有为什么,能够让爱情长久才需要为什么。

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

使用微信扫描二维码后

点击右上角发送给好友