Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Array aus 2 Worksheets zusammensetzen

Array aus 2 Worksheets zusammensetzen
08.05.2007 21:30:04
Roland
Hallo zusammen,
mit
Public ArrAdd, lngBreiteArrAdd As Long
With Worksheets(1)
lngBreiteArrAdd = .Range("A1").CurrentRegion.Columns.Count
ArrAdd = .Range(.Cells(2, 1), .Cells(.Range("A1").CurrentRegion.Rows.Count , lngBreiteArrAdd))
End With
bekomme ich einen definierten Bereich aus dem Worksheet(1) in das Variant-Array ArrAdd. Wie aber kann ich von z.B. Worksheet (2) am schnellsten einen weiteren definierten Bereich dem Array ArrAdd hinzufügen?
Meine Versuche mit der Definition von 2 Ranges und deren Verbindung über Union gingen daneben. Gibt es einen anderen Weg als zwei temporäre Teilarrays zu bilden und deren Werte via Schleife in ein Gesamtarray einzulesen?
Über einen Hinweis freut sich
Roland Hochhäuser

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wie wär's mit ArrAdd=Array(Range1,Range2),...
09.05.2007 00:07:21
Luc:-?
...Roland?
Allerdings hast du dann sicher 2 Hpt- mit Subindizes. Jeder Hptindex kann auch verschieden viele Subindizes haben. Ob Hpt- und/oder Subindizes mit 0 oder 1 anfangen musst du ausprobieren. Die Indizierungsschreibweise müsste für jeden Wert dann bspw ArrAdd(i)(j) sein.
Gruß Luc :-?

AW: Wie wär's mit ArrAdd=Array(Range1,Range2),...
09.05.2007 00:27:00
Roland
Hallo Luc:-?,
das funktioniert leider nicht, ich habs so versucht umzusetzen:
Public ArrAdd, lngBreiteArrAdd As Long

Sub test()
Dim r1 As Range, r2 As Range
Set r1 = Worksheets(1).Range("A1:D5")
Set r2 = Worksheets(2).Range("A1:D5")
ArrAdd = Array(r1, r2)
End Sub



Sub schreiben()
Worksheets(3).Range("A1:D10") = ArrAdd
End Sub


Ich sehe keine Möglichkeit , die beiden Ranges in einem Rutsch ins Array zu schieben. Dann eben von hinten durch die Brust ins Auge mit Hilfsarrays und "zusammenwürfeln".
Danke für deine Mühe und Gute Nacht.
Roland Hochhäuser

Anzeige
Nee, nee, so geht das natürlich nicht,...
09.05.2007 00:38:41
Luc:-?
...Roland!
Du hättest dann ja 2 Werte für jede Zelle in Blatt3! Irgendwas muss da noch passieren! Auch, wenn das Feld in Blatt3 doppelt so groß wäre, würde es nicht klappen! Du musst die Daten des Kombi-Arrays noch durch eine Doppelschleife laufen lassen und in ein normales 2dim Datenfeld bringen. Das geht bei großen Datenmengen wahrscheinlich schneller als direkt aus den Bereichen, aber es hat seine Tücken! Aber das wirst du schon herausfinden... ;-)
Gute Nacht für dich - ich muss noch bleiben!
Luc :-?

AW: Nee, nee, so geht das natürlich nicht,...
09.05.2007 19:48:00
Roland
. . . Das geht bei großen Datenmengen wahrscheinlich schneller als direkt aus den Bereichen, aber es hat seine Tücken! Aber das wirst du schon herausfinden . . .
Die kenne ich zur Genüge und bekomme das schon gebacken. Die Crux im konkreten Fall ist, das die beiden zusammenzufügenden Ranges nicht (auch nicht temporär) untereinander kopiert und dann eingelesen werden können und Union mit zwei Worksheets nicht funktioniert. Ich werde es überleben . .
Bis dann
Roland Hochhäuser

Anzeige
AW: Gutes Gel...Überleben! Gruß owT
10.05.2007 11:34:38
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige