Код ошибки VBA «Ошибка времени выполнения 16, слишком сложная» - PullRequest
1 голос
/ 29 января 2011

При запуске заполненного динамического массива я пытаюсь получить содержимое элемента и получить следующую ошибку Run-Time Error '16': Expression too complex. Выражение сложное?

Дни воздействия длинные, я заполнилэлектронная таблица, просто вставляя диапазон в массив

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 ]

4 голосов
/ 29 января 2011

Проверьте, не используете ли вы что-то вроде

   If (Not MyArray) = -1  

где-то в вашей программе. Было сообщено связь между этим и вашей ошибкой.

НТН!

0 голосов
/ 03 февраля 2011

Я удалил некорректный указатель стека и вместо этого использовал следующее

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

Работает как рекламируется

...