Mit diesem Fehler zu kämpfen - ich bin nicht zu vertraut mit objektorientierten Programmierung, so dass ich nur die Syntax oder etwas vermasselt. Ich habe meinen Code vereinfacht unten nur zu zeigen, was das Problem zu sein scheint verursacht und die damit verbundenen Variablen:Objekt erforderlich - VBA Excel
Type layer
Step As Variant
End Type
Sub PullData()
j = 6
Do While a <= j
steps(1, a) = Sheets("Sheet2").Range("B" & a)
a = a + 1
Loop
a = 1
For a = 1 To j
If steps(1, a) = 0
layer.Step = steps(1, a)
'From here there is a bunch of code where I use that value to copy a
'bunch of other values in the worksheet and paste into a different one,
'then move onto the next "item" in the array
Next a
End Sub
Im Grunde, was ich versuche, aus einem Arbeitsblatt eine Reihe von Daten zu tun nehmen ist, konvertieren diesen Bereich in ein eindimensionales Array und setzen Sie dann layer.Step
gleich jeden dieser Werte durch jede Iteration. Der Fehler tritt bei layer.Step = steps(1, a)
in der zweiten Schleife auf.
Sie haben nicht erklärt 'LAYER' in Ihrem Unterprogramm. Wenn Sie am Anfang der 'PullData' -Unterroutine 'Dim-Layer als Layer' setzen, erhalten Sie trotzdem den Fehler? Ich würde empfehlen, die Variable etwas anderes zu benennen, also haben Sie 'Dim myLayer als Schicht 'und dann' myLayer.Step = steps (1, a) ', um mit der Verwirrung zu helfen. – OpiesDad