VBA错误代码“运行时错误16,太复杂”

时间:2011-01-29 16:35:05

标签: vba excel-vba dynamic-arrays excel

当运行填充的动态数组时,我试图获取元素的内容并收到以下错误Run-Time Error '16': Expression too complex.复杂的表达式?

Impactdays很长,我通过简单地将范围填入数组来填充电子表格

ReportArray = Impact_Chart.Range("Data.EventNumber").CurrentRegion.Value

For i = LBound(ReportArray) + 1 To UBound(ReportArray)

If ReportArray(i, iImpactCol) > 0 Then
        iImpactDays = ReportArray(i, iImpactCol)<-- Tosses error here

        'more stuff

任何想法哦一切的大师? :) 哦,这是2007年

2 个答案:

答案 0 :(得分:4)

检查您是否使用

之类的东西
   If (Not MyArray) = -1  

你计划中的某个地方。 It has been reported它与您的错误之间的联系。

HTH!

答案 1 :(得分:0)

我确实删除了有问题的堆栈指针并使用以下内容来检查

Function IsArrayDimensioned(TargetArray() As Variant) As Boolean
Dim s As Integer
On Error Resume Next
s = UBound(TargetArray, 1)
If Err.Number = 0 Then
    IsArrayDimensioned = True
Else
    IsArrayDimensioned = False
End If
End Function

按宣传方式工作