我有一个名为alterArray()的数组,它会自动填充outlook之外的值(这很好用)。该数组最多有6个值,但有时该数组只有3个值(因此alterArray(0-2)充满值,但alterArray(3-5)为空)。
例如,我如何检查alterArray(5)是否有值?
非常感谢!
发布于 2018-04-01 23:54:00
考虑一下:
Sub HowEmptyIsIt()
Dim alterArray(0 To 5) As Variant
alterArray(0) = "X"
MsgBox IsEmpty(alterArray(5))
End Sub

发布于 2018-04-02 00:00:22
要获得它的实际尺寸,您可以使用helper函数:
Function GetActualDimension(arr As Variant) As Long
Dim i As Long
If IsEmpty(arr) Then Exit Function
For i = LBound(arr) To UBound(arr)
If IsEmpty(arr(i)) Then Exit For
Next
GetActualDimension = i - 1
End Function您可以在您的主代码中使用,如下所示:
Sub main()
Dim alterArray As Variant
MsgBox GetActualDimension(alterArray) '-> returns zero
alterArray = Application.Transpose(Range("A1:A4").Value) ' fill your array
MsgBox GetActualDimension(alterArray) '-> returns "actual" size
End Subhttps://stackoverflow.com/questions/49599783
复制相似问题