Ich habe ein Array als solches Dim rArray() As Variant
deklariert, aber wenn ich versuche, die Werte zu verwenden, die darin gespeichert ist (wie unten gezeigt) bekomme ich einen Index außerhalb des Bereichs Fehler. Die Werte UBound(rArray)
und LBound(rArray)
liefern beide die Werte 14 und 1, der Fehler tritt jedoch in der Zeile Debug.Print
auf.Index außerhalb des Bereichs Fehler mit einem Array - keine Ahnung warum?
Wenn ich die for-Anweisung verwenden, wie unten
For Each rArr in rArray
dann funktioniert es ohne Probleme, aber für die Zwecke Ich schaffe dieses Array muss ich die Flexibilität jedes Element in das gespeichert auszuwählen auftrags- Sinn ich brauche um sich auf sie mit Hilfe von Indices zu beziehen.
Ich habe mehrere Möglichkeiten versucht zu versuchen und zu lösen, ohne Glück und verbringen fast einen halben Tag in diesem einen Problem. Könnte irgendjemand darauf hinweisen, was ich ändern muss, damit das funktioniert?
Set rng = Range("D4", Range("D4").End(xlDown))
rng.NumberFormat = "0"
rArray = rng.Value
For x = UBound(rArray) To LBound(rArray) Step -1
Debug.Print rArray(x)
Next x
Edit: eine andere Tatsache erwähnenswert ist, dass er Array deklariert ist und innerhalb einer Funktion verwendet, aber es wird nicht von oder in die Funktion übergeben. Können Arrays nicht in Funktionen deklariert und verwendet werden?
ich bin kein Experte, aber was ist, wenn Sie x drucken, und sehen, welcher Wert von x das Problem auftritt bei – barlop
Danke. Ich muss nicht x drucken, während Debugging kann ich sehen, dass der Wert von x 14 ist, wo die Schleife beginnt - es sind 14 Elemente im Array gespeichert. –
als Fehlerbehebungsschritt, was passiert, wenn Sie die Schleife entfernen und versuchen für x = 13? und versuche für x = 1 – barlop