Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: mehrere Spalten in eine Spalte kopieren

mehrere Spalten in eine Spalte kopieren
12.06.2020 08:47:20
Reiner
Guten Morgen Forum,
ich hab mal wieder eine Frage :
ich möchte Werte aus mehreren Spalten in eine Spalte kopieren !
Ist sowas überhaupt realisierbar ohne jeden Bereich einzeln zu kopieren und in die neue Spalte einzufügen ?
Vielen Dank vorab
Lieben Gruß vom Niederrhein
Reiner
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: neben VBA auch mittels Formel(n) owT
12.06.2020 09:02:31
neopa
Gruß Werner
.. , - ...
AW: neben VBA auch mittels Formel(n) owT
12.06.2020 09:38:09
Reiner
Hallo Werner,
hast Du für's VBA oder Formel auch ein Beispiel ?
ich hab leider nichts finden können !
Danke & Gruß
Reiner
Etwas mehr Input wäre da schon nötig...
12.06.2020 09:45:46
Martin
...denn woher sollen wir wissen aus welchem Spaltenbereichen die Daten in welche Spalte kopiert werden sollen und wie zu verfahren ist, wenn in den selben Zeilen mehrerer Spalten Daten enthalten sind. Soll die Daten einfach untereinander oder nebeneinander in eine Spalte zusammengefasst werden? Eine Beispielmappe wäre auch sehr sinnvoll!
Viele Grüße
Martin
Anzeige
AW: Etwas mehr Input wäre da schon nötig...
12.06.2020 10:06:59
Reiner
Hallo Martin
eine Beispielmappe ist anbei : https://www.herber.de/bbs/user/138232.xlsx
Sache ist : ich hab eine Datei wo im Bereich B10 bis F50 Werte eingetragen sind.
Diese möchte ich in eine neue Datei kopieren - in Spalte C und unter einander.
...
( Da ich aus mehreren Dateien auf diese Weise in die neue Datei / in der Spalte C untern anfügen
möchte - damit ich am ende eine sehr lange Spalte C habe ! )
Danke und Gruß
Reiner
Anzeige
AW: Etwas mehr Input wäre da schon nötig...
12.06.2020 11:09:13
Martin
Hallo Reiner,
hiermit sollten alle Daten in die Spalte C einer neuen Arbeitsmappe kopiert werden:
Sub CopyToColumnC()
Dim rngColumn As Range
Dim wbkTarget As Workbook
Dim iTargetRow As Integer
iTargetRow = 1
Set wbkTarget = Workbooks.Add
For Each rngColumn In ThisWorkbook.ActiveSheet.UsedRange.Columns
With rngColumn.SpecialCells(xlCellTypeConstants)
.Copy
wbkTarget.Sheets(1).Cells(iTargetRow, 3).PasteSpecial (xlPasteAll)
iTargetRow = iTargetRow + .Count
End With
Next
End Sub
Viele Grüße
Martin
Anzeige
Leichte Anpassung
12.06.2020 11:18:23
Martin
Hallo Reiner,
ich habe das Makro jetzt noch leicht modifiziert. Es wird nun wirklich nur noch der Bereich B10 bis F50 kopiert und leere Zellen werden nicht mehr ignoriert. Zudem ist der Code nun auch etwas kürzer geworden:
Sub CopyToColumnC()
Dim rngColumn As Range
Dim wbkTarget As Workbook
Dim iTargetRow As Integer
iTargetRow = 1
Set wbkTarget = Workbooks.Add
For Each rngColumn In ThisWorkbook.ActiveSheet.Range("B10:F50").Columns
rngColumn.Copy wbkTarget.Sheets(1).Cells(iTargetRow, 3)
iTargetRow = iTargetRow + rngColumn.Cells.Count
Next
End Sub
Viele Grüße
Martin
Anzeige
Freitags um eins macht jeder seins...
12.06.2020 14:15:03
Martin
Hallo Reiner,
ich finde es immer wieder schwach wenn der Fragesteller auf Lösungsvorschläge nicht reagiert. Kein Danke oder sonstiges Feedback mit Bitte zur Optimierung. Eigentlich hatte ich erwartet, dass du noch schreibst ob die betreffenden Arbeitsmappen mit den Quelldaten aus einem Verzeichnis ausgelesen werden müssen oder ob alle bereits in Excel geöffnet sind und durch durchlaufen werden müssen. Ebenso ist völlig unklar, ob die Daten in eine bestehende Excelmappe kopiert werden sollen (...dann wäre der Mappenname wichtig) oder ob eine neue Arbeitsmappe angelegt werden soll. Hier mein letzter Stand des Codes, damit die Daten dynamisch von mehreren Arbeitsmappen untereinander eingefügt werden:
Sub CopyToColumnC()
Dim rngColumn As Range
Dim wbkTarget As Workbook
Set wbkTarget = Workbooks.Add
For Each rngColumn In ThisWorkbook.ActiveSheet.Range("B10:F50").Columns
rngColumn.Copy wbkTarget.Sheets(1).Cells(Rows.Count, 3).End(xlUp).Offset(1)
Next
End Sub
Das Durchgehen der Arbeitsmappen kann nun jemand anderes machen, weil du nicht reagiert hast und ich keine weitere Lust habe auf eine Reaktion zu warten.
Freitags um eins macht jeder seins... - mein Lösungsvorschlag liegt bereits drei Stunden zurück und jetzt ist es schon nach zwei.
Viele Grüße
Martin
Anzeige
AW: von mehreren Dateien war nicht die Rede ...
12.06.2020 11:21:06
mehreren
Hallo Reiner,
... in Deinem Eröffnungsthread. Für eine Datei oder wie in Deiner Beispieldatei aus einem Tabellenblatt wäre eine Formellösung noch vertretbar.
Dann z.B. so (Hilfszeile fast beliebig anordenbar, kann ausgeblendet werden, Formel C8 nach rechts kopieren, die 0 in B8 ist zwingend notwendig)
 ABCDE
8Hilfszeile051319
9     
10 1060110 
11 2070120 
12 3080130 
13 4090140 
14 50100150 
15  101160 
16  102  
17  103  
18     

ZelleFormel
C8=ANZAHL(B10:B99)+A9
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Dann Formel im Ergebnistabellenblatt ziehend weit genug nach unten kopieren.
 C
110
220
330
440
550
660
770
880
990
10100
11101
12102
13103
14110
15120
16130
17140
18150
19160
20 
21 

ZelleFormel
C1=WENNFEHLER(INDEX(Ursprung!B:D;ZEILE(Ursprung!$B$10)+ZEILE()-1-INDEX(Ursprung!$8:$8;1+VERGLEICH(ZEILE()-1;Ursprung!$B$8:$H$8));VERGLEICH(ZEILE()-1;Ursprung!$B$8:$H$8));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
AW: von mehreren Dateien war nicht die Rede ...
15.06.2020 09:38:50
mehreren
Hallo Martin - Hallo Werner - Hallo Forum
vielen Dank für Eure Antworten / Eure Hilfe - es funktioniert ( hab Martins Lösung genommen ) !
Sorry - das mein Feedback / Antwort erst jetzt kommt, aber Freitag konnte ich leider nicht mehr antworten .... wg Feierabend !
Ich weiß eure Mühe sehr zu schätzen - auch oder gerade in diesen Zeiten, wo die Nerven hier & dort etwas dünner oder schon blank sind !
Besten Gruß vom Niederrhein
Reiner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte aus mehreren Spalten in eine Spalte kopieren


Schritt-für-Schritt-Anleitung

Um Werte aus mehreren Spalten in eine Spalte zu kopieren, kannst du entweder VBA-Makros oder Excel-Formeln verwenden. Hier eine einfache Schritt-für-Schritt-Anleitung für beide Methoden:

Mit VBA:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Klicke auf Einfügen und wähle Modul.

  3. Füge den folgenden Code ein:

    Sub CopyToColumnC()
       Dim rngColumn As Range
       Dim wbkTarget As Workbook
       Dim iTargetRow As Integer
       iTargetRow = 1
       Set wbkTarget = Workbooks.Add
       For Each rngColumn In ThisWorkbook.ActiveSheet.Range("B10:F50").Columns
           rngColumn.Copy wbkTarget.Sheets(1).Cells(iTargetRow, 3)
           iTargetRow = iTargetRow + rngColumn.Cells.Count
       Next
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus.

Mit einer Formel:

  1. Angenommen, deine Daten befinden sich in den Spalten B bis F.

  2. Verwende die folgende Formel in Zelle C1:

    =WENNFEHLER(INDEX(B$10:F$50;ZEILE()-9;SPALTE());"")
  3. Ziehe die Formel nach unten, um alle Werte aus den Spalten B bis F in die Spalte C zu übernehmen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro kopiert keine Daten. Lösung: Überprüfe den Bereich B10:F50, ob dort Daten vorhanden sind.

  • Fehler: Die Formel zeigt #NV. Lösung: Stelle sicher, dass die Formel korrekt eingegeben wurde und der Bereich B10:F50 Daten enthält.


Alternative Methoden

Wenn du mehrere Spalten in eine Spalte kopieren möchtest, gibt es auch andere Methoden:

  • Power Query: Importiere deine Daten in Power Query, transformiere sie und lade sie zurück in Excel.
  • Kopieren und Einfügen: Du kannst die Spalten kopieren und in eine neue Spalte einfügen, jedoch ist dies weniger effizient.

Praktische Beispiele

Angenommen, du hast folgende Daten:

B C D E F
10 20 30 40 50
60 70 80 90 100

Wenn du diese in eine Spalte kopieren möchtest, kannst du das VBA-Makro oder die Formel verwenden, um die Werte in Spalte C zu erhalten:

C
10
20
30
40
50
60
70
80
90
100

Tipps für Profis

  • Nutze Anpassen -> Makros in Excel, um deine VBA-Skripte zu speichern und wiederzuverwenden.
  • Verwende die Funktion UNIQUE, um nur einmalige Werte aus mehreren Spalten zusammenzuführen.
  • Experimentiere mit FILTER und SORT, um deine Daten vor dem Kopieren zu organisieren.

FAQ: Häufige Fragen

1. Frage: Wie kann ich in Excel mehrere Spalten in eine Spalte untereinander kopieren?
Antwort: Du kannst entweder VBA verwenden oder eine Formel erstellen, die die Werte aus den gewünschten Spalten zusammenführt.

2. Frage: Funktioniert das auch in älteren Excel-Versionen?
Antwort: Die VBA-Methoden sind in den meisten Excel-Versionen verfügbar, während einige Formelfunktionen möglicherweise nur in neueren Versionen funktionieren.

3. Frage: Was ist der Unterschied zwischen Kopieren und Einfügen und dem VBA-Makro?
Antwort: Das VBA-Makro automatisiert den Vorgang und kann mehrere Spalten in einem Schritt verarbeiten, während das manuelle Kopieren und Einfügen umständlicher ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige