Hallo Gast94581,
vielen Dank für deine Antwort.
Ich weiss beim besten Willen nicht was du meinst?! Die Elemente sind dem Array richtig zugeordnet, egal ob ich es so initialisiere, oder als Zeilenvektor von 1-6, da es vom Typ Variant ist, nimmt es auch die Range als Elemente auf den richtigen Plätzen (sogar als Elemente aus Arrays).
Alle Zugriffe auf die einzelnen Einträge des Arrays funktionieren und sind auch am (meiner Meinung nach) theoretisch richtigem Platz und lassen sich so auch ausgeben. Mit Schleife auch das ganze Array.
Das blöde an der Sache ist, ich will das Array auf einmal ausgeben, also ohne jegliche Schleife.
Befüllt man das selbe konstrukt mit 2 for Schleifen einzeln mit den Cells, ist das kein Problem (dauert aber zu lange), benutz man das Array als "unbestimmtes" Datenfeld auch nicht, nur in dieser Variante will es einfach nicht funktionieren.... Hab ich da was grundlegendes falsch verstanden in VBA???
Copy Paste der einzelnen Ranges ist hier leider viel langsamer, sind zig tausende Zeilen (mit hunderten Formeln), mehr Varianten kenne ich leider nicht die passen bzw anscheinend gar keine...
Hier nochmal als Bsp wie ich es gerne machen würde, aber es nicht geht...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Sub test()
Dim Matrix(1 To 6) As Variant
Dim i%
For i = 1 To 6
Sheets( "Tabelle1" ).Range( "A1:C1" ) = i
Matrix(i) = Sheets( "Tabelle1" ).Range( "A1: C1" )
Next i
Sheets( "Ergebnis" ).Range( "A1:C6" ) = Matrix()
Sheets( "Ergebnis" ).Range( "A17:C22" ) = Matrix(2)
Sheets( "Ergebnis" ).Range( "A17:C22" ) = Matrix(2) (1,2)
End Sub
|
Vielen Dank
lg
|