ReDim Preserve eines transponierten 2D Arrays
12.04.2016 00:22:07
tengal
Die Ausgangssituation auf die Schnelle: ein dynamisches Array(n,m) soll in einer Schleife seine Länge, bzw. die Anzahl Zeilen ändern, die Werte müssen aber bebehalten werden.
Ein Fall für ReDim Preserve, da man hier nicht die Zeilen- sondern nur die Spaltenzahl ändern kann (nur zweite Dimension) habe ich das Array vorher transponiert. Doch obwohl ich die 1. Dimension beim ReDim nicht verändere, gibt es den "Index außerhalb des gültigen Bereichs" Fehler.
Ein Bsp:
Dim array() as Variant
ReDim array(20, 4) 'immer zu groß, die wahre Größe weiß man aber erst später
array = Application.WorksheetFunction.Transpose (array)
ReDim Preserve array (LBound(array) To UBound(array), n)
Die letzte Zeile verursacht besagten Fehler und ich verstehe einfach nicht warum, denn die 1. Dimension wird ja nicht verändert. Ich habe auch noch ein bischen im Nebel gestochert und mal ein +1 oder -1 rangehängt, keine Chance. Auch wenn man feste Werte statt LBound und UBound nimmt (in obigem Beispiel: (4, n) ändert sicht nichts.
Wäre sehr froh wenn jmd. von euch sieht worans liegt!