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

Spalten bzw. Bereiche untereinander kopieren

Spalten bzw. Bereiche untereinander kopieren
12.09.2014 14:07:05
amn.ssy
Hallo,
ich habe ich ein Problem, das sich vordergründig trivaler anhört es es ist - zumindest für mich.
Ich habe in einer Exceldatei auf einem bestimmten Sheet einen festen Bereich mit Daten (D13-D28,E13-E28,...H13-H28).
Nun benötige ich diese Daten in einer Zieldatei alle in einer Spalte (ab I2)untereinander (unabhängig davon ob in der Zelle etwas steht oder nicht).
Der Workflow sähe also verkürzt so aus: öffne Quelle, hole spltenweise die daten ab d13 bis h28 und scheibe alles untereinander in die spalte i.
Wie gesagt höt sich einfacher an als es ist.
Freu mich über jeden guten Anstz der weiterhilft.
LG
amn

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

Betreff
Datum
Anwender
Anzeige
Bereiche untereinander kopieren
12.09.2014 15:11:57
Erich
Hi Vorname(?),
aus deinem Beitrag geht nicht hervor, was du eigentlich brauchst - eine Excelformel oder eine VBA-Prozedur
oder ein geschicktes Verfahren zum manuellen kopieren?
Was soll kopiert werden? Die ganzen Zellen (mit allen Eigenschaften)? Nur Werte? Auch Formeln? ...
Durch eine Formel wie die folgende wird die Zielmappe mit der Quellmappe verknüpft:
 I
213x4
314x4
415x4
516x4
617x4
718x4
819x4
920x4
1021x4
1122x4
1223x4
1324x4
1425x4
1526x4
1627x4
1728x4
1813x5
1914x5
2015x5
2116x5
2217x5

Formeln der Tabelle
ZelleFormel
I2=INDEX('[eine Exceldatei.xlsx]bestimmtes Sheet'!D$13:H$28;REST(ZEILE(D16); 16)+1;KÜRZEN(ZEILE(D16)/16))
I3=INDEX('[eine Exceldatei.xlsx]bestimmtes Sheet'!D$13:H$28;REST(ZEILE(D17); 16)+1;KÜRZEN(ZEILE(D17)/16))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
(Formel runterkopieren bis Zelle I81)
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Bereiche untereinander kopieren
12.09.2014 15:34:27
amn.ssy
Hallo Erich,
vielen Dank für den Tipp mit den Formeln.
In der Tat hatte ich vergessen zu schreiben, daß VBA ganz geschickt wäre und ich auch nur die Werte benötige, aber das mit den Formeln probiere ich in jedem Fall.
amn steht übrigens für
uwe
Gruß und Danke
amn

Bereiche untereinander mit VBA
12.09.2014 23:43:40
Erich
Hi Uwe,
zu einer guten Fragestellung gehört meist auch die Darstellung der eigenen Versuche, das Problem zu lösen.
Warum hast du nicht alle Teile, die sich leicht z. B. mittels Makroaufzeichnung erstellen lassen, hier mitgeteilt?
Das Öffnen und Schließen der Quellmappe kann wohl wirklich kein Problem sein...
Zum einen hätte man daran sofort gesehen, dass du eine VBA-LÖsung suchst. Zum anderen stünden im Code
die Namen von Mappen und Blättern, so dass sich der Antworter nicht erst etwas ausdenken muss.
Probier mal (wobei hier überhaupt nicht kopiert wird): Option Explicit Sub SpaltenUntereinander() Dim arQ, arZ(), zz As Long, cc As Long Workbooks.Open "c:\tmp\eine Exceldatei.xlsx", ReadOnly:=True ' Quellmappe arQ = Sheets("auf einem bestimmten Sheet").Range("D13:H28").Value ' Quellbereich ActiveWorkbook.Close False ReDim arZ(1 To UBound(arQ) * UBound(arQ, 2), 0) ' Zielarray For zz = 1 To UBound(arQ) For cc = 1 To UBound(arQ, 2) arZ(UBound(arQ) * (cc - 1) + zz, 0) = arQ(zz, cc) ' Zielarray füllen Next cc Next zz ' Ausgabe ThisWorkbook.Sheets("Zieltabelle").Cells(2, 9).Resize(UBound(arZ)) = arZ End Sub Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Spalten bzw. Bereiche untereinander kopieren
12.09.2014 16:20:55
Adis
Hallo
hier eine doppelte Makro Lösung. Je nachdem ob man alles kopieren will,
Bereich D13:D28 usw. mit Formate und Rahmen, oder nur die Zell Inhalte.
Die Ziel Adresse steht in Const und kann beliebig geaendert werden.
Ich habe "L2" genommen falls in "L1" eine Überschrift stehen soll.
Bei Zeile Range(xxx) habe ich Rows.Count + 1 gewaehlt für 1 Leerzeile.
Ohne +1 wird alles untereinander kopiert. Ich bevorzuge 1-2 Leerzeilen.
Const ZAdr = "L2" 'Zelle L1 freigelassen für Überschrift
Sub Bereiche_inSpalte_kopieren()
Dim QTab As Object, ZTab As Object, Zeile As Integer
Set QTab = Sheets("Tabelle1")
Set ZTab = Sheets("Tabelle2")
'Zeile als Offset für weiteres kopieren
Zeile = QTab.Range("D13:D28").Rows.Count + 1
'Kopiere Bereich D13:D28 - H13:H28 -mit Formate- in Ziel Tabelle
QTab.Range("D13:D28").Copy ZTab.Range(ZAdr)
QTab.Range("E13:E28").Copy ZTab.Range(ZAdr).Offset(Zeile, 0)
QTab.Range("H13:H28").Copy ZTab.Range(ZAdr).Offset(Zeile * 2, 0)
Application.CutCopyMode = False
End Sub
Sub Nur_Werte_inSpalte_kopieren()
Dim QTab As Object, ZTab As Object, Zeile As Integer
Set QTab = Sheets("Tabelle1")
Set ZTab = Sheets("Tabelle2")
'Zeile als Offset für weiteres kopieren
Zeile = QTab.Range("D13:D28").Rows.Count + 1
'Kopiere -nur Werte- von D13:D28 - H13:H28 in Ziel Tabelle
QTab.Range("D13:D28").Copy
ZTab.Range(ZAdr).PasteSpecial xlValues
QTab.Range("E13:E28").Copy
ZTab.Range(ZAdr).Offset(Zeile, 0).PasteSpecial xlValues
QTab.Range("H13:H28").Copy
ZTab.Range(ZAdr).Offset(Zeile * 2, 0).PasteSpecial xlValues
Application.CutCopyMode = False
End Sub
Gruss Adis
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige