Microsoft Excel

Herbers Excel/VBA-Archiv

Ausgabe eines riesigen Arrays


Betrifft: Ausgabe eines riesigen Arrays
von: Steve
Geschrieben am: 11.01.2019 16:12:02

Hi
Ich habe ein sub geschrieben, welches ein Array dimensioniert und füllt .
ich gebe es aus über:

Range("D2").Resize(UBound(vPerms, 1), UBound(vPerms, 2)).Value = vPerms ' writes the output in E2, down and across
das gibt das Array z.B. in 11 Spalten ab D aus.
Das klappt auch ganz gut und ist sehr schnell.

Über die Benutzereingaben kann das Array allerdings auch riesig werden.
dann ergibt das den Fehler 400

Ich würde das in dem Falle gerne so ausgaben, was alles, was geht so ausgegeben wird wie oben, der Rest dann (UBound(vPerms, 2)+1) Spalten weiter (dann bleibt eine frei)

ist dann immer noch nicht alles ausgegeben, dann wieder UBound(vPerms, 2)+1 Spalten weiter usw.

dollte die Seite nicht ausreichen, dann eine neue Seite anlegen usw....

Hat jemand Erefahrung damit?
wieviel geht denn auf eine Excelseite (Excel365)?
wie kann ich diese schnelle Ausgabe (Range.value=>Array) partiell anwenden?
Wie lege ich neue Seiten an. usw...
wäre sehr froh, wenn mir jemand ein zwei Tipps geben könnte!

Grüße Steve

  

Betrifft: AW: Ausgabe eines riesigen Arrays
von: onur
Geschrieben am: 11.01.2019 18:48:46

Was genau ist "riesig"?


  

Betrifft: AW: Ausgabe eines riesigen Arrays
von: Steve
Geschrieben am: 11.01.2019 19:31:07

zweidim. Array
Aktuell 6 500 00 * 13


  

Betrifft: AW: Ausgabe eines riesigen Arrays
von: onur
Geschrieben am: 11.01.2019 19:34:49

650.000 oder 6.500.000?
Ich frage nur wegen der Leerstellen in "6 500 00".


  

Betrifft: AW: Ausgabe eines riesigen Arrays
von: Steve
Geschrieben am: 11.01.2019 20:11:58

oh ja. sorry
6 500 000 *13


  

Betrifft: AW: Ausgabe eines riesigen Arrays
von: onur
Geschrieben am: 11.01.2019 20:13:34

Excel (ab 2007) kann nur 1 048 000 (und paar zerquetschte) Zeilen haben.


  

Betrifft: AW: Ausgabe eines riesigen Arrays
von: snb
Geschrieben am: 11.01.2019 23:04:05

Sub M_snb()
  msgbox rows.count
End Sub



  

Betrifft: AW: Ausgabe eines riesigen Arrays
von: Steve
Geschrieben am: 12.01.2019 11:25:57

Ja. ...Deshalb suche ich ja nach einer Möglichkeit, da Array “ Blockweise“ auszugeben.
Also bis zur maximalen Zeilen Zahl, dann ubound ( etwas, 2) spalten weiterzurücken, dann wieder Block ausgeben bis maximale Spaltenzahl erreicht ist, dann neues Arbeitsblatt usw.

Aber diese blockweise Ausgabe auf einmal: geht das?

Ich kann natürlich Zellenweise ausgeben, aber das dauert sehr lang...


  

Betrifft: AW: Ausgabe eines riesigen Arrays
von: onur
Geschrieben am: 12.01.2019 11:31:24

Mit

Range(.......) = vPerms

kannst du NUR das ganze Array übergeben, wenn du einen Teil übergeben willst, musst du das Zelle für Zelle machen und das kann dauern.
Du müsstest schon bei der Befüllung des Arrays ansetzen und und mind. 5 Arrays daraus machen (Array 1 von 1 bis 1 000 000 usw).


  

Betrifft: AW: Ausgabe eines riesigen Arrays
von: Steve
Geschrieben am: 12.01.2019 16:37:53

danke