打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel之VBA常用功能应用篇:判断数组是空值

VBA如何判断数组是空值,这个难题告诉你怎么解决

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

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

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

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

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

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

具体代码如下图所示:

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

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 是数组类型

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA数组基础学习(六)
【VBA】数组介绍
VBS数组深入浅出
用VBA实现Excel函数:SUM
VBA数组函数UBound.lbound
vb6.0 判断数组为空
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服