如何使用vba修复这种“超出范围的子标记”

时间:2016-10-24 15:47:57

标签: excel vba excel-vba excel-addins

我有一部分VBA代码

Sub EIDOpredsub()
modDeclarations.initDemo                                                            'DEMO initialisieren
Dim objEachAnalysis As clsAnalysis                                                  'Zähler für jede Analyse in Sammlung
Dim rngOutput As Range                                                              'Zellbereich der Ausgabe
Dim rngInputParameter As Range                                                      'Zellbereich des unabhängigen Parameterspalte
Dim varInput() As Variant                                                           'Array für die Input-Datei
Dim varOutput() As Variant                                                          'Array für die Output-Datei
Dim varInputParameter As Variant                                                    'Array für die unabhängige Parameterspalte
Dim intEachIndepParameter As Integer                                                'Zähler für jeden unabhängigen Parameter
Dim lngEachRow As Long                                                              'Zähler für jede Zeile
Dim lngCountRows As Long                                                            'Alle Datensätze des  Reports
Dim resultCall As Boolean


On Error GoTo ErrorHandler                                                          'Abbruch, falls ein unvorgesehener Fehler auftritt

lngCountRows = ActiveWorkbook.Sheets(p_objReportActual.Reportname) _
    .Range("A1").End(xlDown).Row - 2                                                'Alle Datensätze abzüglich zwei Zeilen für die Überschrift

For Each objEachAnalysis In p_objReportActual.Analyses                              'Für jede Analyse in Sammlung
    If objEachAnalysis.Aktiv = True Then                                            'Wenn Analyse aktiviert
        ReDim varInput(UBound(objEachAnalysis.IndepParameters, 2) + 1, lngCountRows) 'Dann dimensioniere das Inputarray
        ReDim varInputParameter(1, 1)                                               'Leere das Array der Parameterspalte

现在我想制作inputarray的维度,当我为此添加监视时:

ReDim varInput(UBound(objEachAnalysis.IndepParameters, 2) + 1, lngCountRows)

“varInput”显示“subcript out of range”
我该如何解决这个问题?

(UBound(objEachAnalysis.IndepParameters,2)等于12.因为列 “lngCountRows”是180,因为我们的数据集有180行

enter image description here

“clsAnalysis”是之前制作的类模块。)

0 个答案:

没有答案