1

設定されている動的配列を実行しているときに、要素の内容を取得しようとすると、次のエラーが発生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年です

4

2 に答える 2

4

次のようなものを使用していないかどうかを確認してください

   If (Not MyArray) = -1  

あなたのプログラムのどこかに。それとあなたのエラーとの関係が報告されています。

チッ!

于 2011-01-29T16:45:46.970 に答える
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

宣伝どおりに動作します

于 2011-02-03T13:36:06.257 に答える