Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

如何判断VBA中的一个数组是否已经定义其维数上限下限

时 间:2017-04-17 08:32:46
作 者:MDZZ   ID:47512  城市:南京
摘 要:如何判断VBA中的一个数组是否已经定义其维数上限下限
正 文:

最不动脑子的方法,直接写一个函数用错误陷阱捕捉就可以了

判断某个数组是否已经定义了下标,如果已经定义返回true

Function IsRedim(ByRef v As Variant) As Boolean
    Dim i As Long
On Error GoTo IsRedim_Err
    i = UBound(v)
    IsRedim = True
    Exit Function
IsRedim_Err:
    Select Case Err.Number
    Case 0
    Case 9
        Debug.Print Err.Number, Err.Description, "预定义错误"
    Case Else
        Debug.Print Err.Number, Err.Description
    End Select
End Function
'在模块中运行,以下过程测试IsRedim函数的效果
Function RunTest()
    Dim a() As String
    Dim b() As String
    ReDim a(5)
    Debug.Print IsRedim(a)  '返回true
    Debug.Print IsRedim(b)  '返回false
End Function



或者  用not逻辑符也可以判断 
Function RunTest()
    Dim a() As String
    Dim b() As String
    ReDim a(5)
    
    Debug.Print Not a   '返回 -48665169 ,不是 -1
    Debug.Print Not b   '返回 -1 表示其未指定下标
End Function





Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助