Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array auf einmal in Tabellenblatt schreiben

Array auf einmal in Tabellenblatt schreiben
24.09.2015 11:47:12
Bonduca01
Hallo liebes Forum,
ich versuche schon den ganzen Vormittag lang einen Array auf einmal in ein Tabellenblatt zu schreiben.
Mein Array ist folgendermaßen deklariert: Dim Array(500,4)as Variant.Mein Array füllt sich über eine Schleife, beginnend bei array(3,4). Die Werte werden nicht direkt aus einem Tabellenblatt gelesen, sondern in einem Makro berechnet

For i=3 to 500
Array(i,4) = irgendetwas
Next i

Jetzt möchte ich den Array in ein neues Tabellenblatt auf einmal ausgeben lassen (mit einer Schleife dauert es ziemlich lange, da mein Array groß ist).
Hab schon folgendes versucht:

Dim Array (500,4) as Variant
Range("A1:B26600") = Array
oder:
Tabelle1.Range("A1").Resize(UBound(array, 1) - LBound(array, 1) + 1, UBound(array, 2) - LBound( _
array, 2) + 1).Value = Array
Bisher bleibt der Bereich A1:B26600 in Tabelle1 leer.
Was mache ich falsch?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array auf einmal in Tabellenblatt schreiben
24.09.2015 11:58:23
Rudi
Hallo,
der Bereich muss genauso groß sein wie das Array, also 501 Zeilen und 5 Spalten.
Gruß
Rudi

AW: Array auf einmal in Tabellenblatt schreiben
24.09.2015 16:50:00
Michael
Hi Bonduca01,
lies mal bitte: http://www.online-excel.de/excel/singsel_vba.php?f=152
Das ist eine Einsteiger-Info für Arrays.
Was Rudi meint, ist, daß Felder standarmäßig nullbasiert sind, d.h. die Zählung der Felder beginnt bei 0.
Übrigens hilft es Dir nichts, wenn Du das Array erst ab 3 füllst - wenn Du es komplett schreibst, werden Deine vorhandenen Werte in den ersten Zeilen trotzdem überschrieben, vermutlich mit 0 oder "".
Teste mal:
Sub arrayTest()
Dim a(1 To 10, 1 To 5) As Long
Dim zeile As Long, spalte As Long
For zeile = 1 To 10
For spalte = 1 To 5
a(zeile, spalte) = zeile * spalte
Next
Next
Range("A3:E12") = a
Range("b15").Resize(UBound(a, 1) - LBound(a, 1) + 1, UBound(a, 2) - _
LBound(a, 2) + 1).Value = a
End Sub
Schöne Grüße,
Michael
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige