<<< 返回 access911.net 编程静态资料库索引页

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

 

作者:cg1  摘自:access911.net  录入:cg1  时间:2010-6-4  浏览人次:987


专题地址:http://access911.net/fixhtm/72FABF1E10DCEAF3.htm 如果需要更详细的评论或说明,请点击该地址。

 

简述:VBA中数组变量没有确定维数上下限,该判断?

 


问题:

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

Dim aryString() as String
MsgBox UBound(aryString)

用UBound取这个数组时会提示“运行时错误(9):下标越界。”,但是用 IsArray IsNull IsEmpty 都没有办法区分是否已经定义数组的维数,该如何判断某个数组是否已经定义下标呢?

 

方法一:

最不动脑子的方法,直接写一个函数用错误陷阱捕捉就可以了
'判断某个数组是否已经定义了下标,如果已经定义返回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, Er.....................
...........

资料库随时有更新,欲查看最新详情请单击专题地址http://access911.net/fixhtm/72FABF1E10DCEAF3.htm

 


上一篇:Access2010新数据库引擎,让ASP程序兼容ACCESS2010格式

下一篇:如何在Excel当前打开的所有工作簿中搜索某个字符串?

2017年2月22日生成静态资料