Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

2 Bereiche in ein Array?

Forumthread: 2 Bereiche in ein Array?

2 Bereiche in ein Array?
13.06.2013 10:49:29
Frank
Guten Morgen,
hier erstmal meine Datei: https://www.herber.de/bbs/user/85797.xlsm
Ich möchte via VBA die Werte der Bereiche BASIS1 und BASIS2 untereinander in den Bereich ZIEL kopieren. Ich möchte möglichst ohne Schleifen, die zellenweise vorgehen, auskommen, da ich das Verfahren in einer großen Exceldatei anwenden möchte, in der es nicht nur zwei, sondern über 20 Ranges sein werden, die zudem einige hundert Zeilen haben.
Besteht die Möglichkeit, die beiden BASIS-Bereiche in EIN Array zu schmeißen, so daß ich am Ende nur eine Zuwesiung in den Zielbereich machen kann?
Also etwas in der Richtung:
myarray = Range("BASIS1,BASIS2").Value
Range("ZIEL").Value = myarray
Vielen Dank,
Frank

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 Bereiche in ein Array?
13.06.2013 11:12:45
windalf
Lies die geöffneten Blätter am besten in ein VariantArray ein. Dann ist das Hölle schnell und da kannst per Schleife auf das Blatt schreiben was du haben willst.
Etwa so
Sub ReadinVariantArray(wb_name As String, vntArray As Variant)
Dim ws As Worksheet
Workbooks.Open wb_name
Set ws = ActiveSheet
With ws
vntArray = .Range(.Cells(2, 1), .Cells(.UsedRange.Rows.Count, .UsedRange.Columns.Count)) _
.Value
End With
Workbooks(Workbooks.Count).Close SaveChanges:=False
End Sub
Zugriff ist dann per vntArray(y,x)

Anzeige
AW: 2 Bereiche in ein Array?
13.06.2013 11:26:32
Frank
hey,
danke, aber ich verstehe das nicht in bezug auf mein problem. bei mir geht es nur um benannte Bereiche, nicht um unterschiedliche Tabellenblätter. Die Bereiche sind alle im selben Blatt...bin etwas verwirrt...

AW: 2 Bereiche in ein Array?
13.06.2013 12:54:53
Nepumuk
Hallo,
warum der Umweg über ein Array?
Bereich1.Copy Destination:=Ziel
Bereich2.Copy Destination:=Ziel + Versatz ....
Ist allemal schneller. Auch wenn du nur Werte einfügen willst, dann ist PasteSpecial immer noch schneller.
Gruß
Nepumuk

Anzeige
AW: 2 Bereiche in ein Array?
13.06.2013 12:59:52
firmus
Hi Frank,
nicht so elegant (ohne array), aber transparent zu verfolgen.
Mein Thema:
Nimm alle XLS-files eines Verzeichnisses und kopiere den Blattinhalt hintereinander in ein Ausgabeblatt.
Die Idee zu deinem Problem ist enthalten, eventuell das Kernstück mit wenig Anpassung zu verwenden.
1. Markiere den Ursprungsbereich.
2. Copy
3. Setze auf Ausgabepunkt in Ausgabe-Blatt (anhängend)
4. Kopiere
Ergebnis: eine große Datei
https://www.herber.de/bbs/user/85801.txt
Gruss,
Firmus
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18