Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1316to1320
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

2 Bereiche in ein Array?

2 Bereiche in ein Array?
13.06.2013 08: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

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

Betreff
Datum
Anwender
Anzeige
AW: 2 Bereiche in ein Array?
13.06.2013 09: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)

AW: 2 Bereiche in ein Array?
13.06.2013 09: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...

Anzeige
AW: 2 Bereiche in ein Array?
13.06.2013 10: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

AW: 2 Bereiche in ein Array?
13.06.2013 10: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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige