Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalten kopieren und in anderer Reihenfolge einfüg

Spalten kopieren und in anderer Reihenfolge einfüg
12.09.2008 12:20:00
Bernhard
Hallo liebe Experten,
suche schon eine Weile im Archiv, finde aber nicht die Lösung für folgendes:
In Tabelle 1 habe ich Werte in Spalten A bis H. Ich möchte nun die Spalten A, B, C, E, F, H (ohne D) kopieren und in Tabelle 2 in anderer Reihenfolge einfügen:
Was ist in diesem Code zu ändern?
ActiveWorkbook.Worksheets("Tabelle1").Range(Cells(intZeile + Zae1, 1), Cells(intZeile + Zae1, 8)).Copy
ActiveWorkbook.Worksheets("Tabelle2").Cells(intZeile + Zae2, 1).PasteSpecial
Danke für Eure Hilfe
Gruss
Bernhard
Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 12:40:02
Tobias
Servus Bernhard!
Alles in eine Zeile:
ActiveWorkbook.Worksheets("Tabelle1").Range(Cells(intZeile + Zae1, 1), Cells(intZeile + Zae1, 8)).Copy ActiveWorkbook.Worksheets("Tabelle2").Cells(intZeile + Zae2, 1)
Gruß, Tobi
http://vba-blog.de/
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 12:44:00
Baywatch
eine Frage aktualliesiert sich das selber? und wie muß der ganze code heißen?
Anzeige
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 12:49:00
Tobias
Sorry, ich hatte da was überlesen.

anderer Reihenfolge einfügen


In welcher Reihenfolge eigentlich?

AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 12:53:00
Baywatch
Gib doch ein Beispiel an, dann kann mand as doch für die anderen zellen selber machen.
Eine Frage für meine Person, kann man das ganze dann auch nach einer Spalte z.B. G sortieren lassen?
Gruß und Dank
Daniel
Anzeige
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 13:16:31
Bernhard
Hallo Daniel,
anbei ein Beispiel.
https://www.herber.de/bbs/user/55343.xls
Der eigentliche Code funktioniert schon. Nur ich will nicht alle Spalten kopieren und die Reihenfolge soll anders sein.
Ich hoffe, ich habe das jetzt richtig erklärt.
Danke und Gruss
Bernhard
Anzeige
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 12:57:05
Bernhard
Hallo Tobi,
jetzt bin ich etwas verwirrt. Dein Code ist nicht anders als mein Code, es fehlt lediglich das PasteSpecial.
Ich möchte lernen bzw verstehen, wie der Code aussehen muss, wenn ich Spalten, die nicht alle nebeneinander stehen, kopiere und dann in anderer Reihenfolge paste. Also: Kopiere Spalte A, B, C dann E bis H und paste in der Reihenfolge A, B, C, H, E, F, G. Ist hier Range falsch, da die Spalten nicht nebeneinander?
Gruss Bernhard
Anzeige
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 13:18:02
Tobias
Ah so.
Wie wäre es hiermit?


Sub SpecialCopy()
Dim rngSource As Range
With Worksheets("Tabelle1")
    Set rngSource = Union(.Range("A1").EntireColumn, _
                        .Range("B1").EntireColumn, _
                        .Range("C1").EntireColumn, _
                        .Range("E1").EntireColumn, _
                        .Range("F1").EntireColumn, _
                        .Range("G1").EntireColumn, _
                        .Range("H1").EntireColumn)
End With
    rngSource.Copy Worksheets("Tabelle2").Range("A1")
End Sub


Gruß, Tobi
http://vba-blog.de/
Anzeige
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 13:23:04
Baywatch
Ich verstehe nur noch BAhnhof, würde das auch gerne verstehen, da ich so etwa einbauen möchte
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 13:28:00
Tobias
1. Erstelle eine Variable für den Zellbereich:

Dim rngSource As Range


2. Verwende With ... End With um nicht ständig worksheets(...).Range(..) schreiben zu müssen. Jetzt reicht ein .Range(...) aus (Wichtig ist der Punkt!!!!)


With Worksheets("Tabelle1")


3. Ordne der Variable einen Zellbereich zu
Mit Union werden mehrere Zellbereiche zusammengefügt, analog zu gedrückter Strg-Taste
EntireColumn markiert die ganze Spalte, analog zu einem Klick auf den Spalten-Kopf


Set rngSource = Union(.Range("A1").EntireColumn, _
.Range("B1").EntireColumn, _
.Range("C1").EntireColumn, _
.Range("E1").EntireColumn, _
.Range("F1").EntireColumn, _
.Range("G1").EntireColumn, _
.Range("H1").EntireColumn)


4. Ende von With Worksheets(...)


End With


5. Kopieren


rngSource.Copy Worksheets("Tabelle2").Range("A1")


6. Fertig


End Sub


Alles klar?
Gruß, Tobi
http://vba-blog.de/

Anzeige
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 14:16:04
Baywatch
aber es passiert nichts wenn ich das einfüge
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 14:41:49
fcs
Hallo Baywatch,
bleib doch bitte mit deinen Problemen zur gleichen Datei/Aufgabenstellung in einer Frage.
siehe auch hier:
https://www.herber.de/forum/messages/1009312.html
Wenn du ereignisabhängige Automatismen in deine Datei einbauen willst, dann ist es entsprechend kompliziert, sicherzustellen das alles korrekt abläuft. Dazu diente in meinen bisherigen Lösungen die zusätzliche Spalte "ID".
Wenn du mit meinen schon sehr ausführlichen Erläuterungen im Code und in den Antworten auf deine Fragen nicht klar kommst, dann solltest du ggf. die Funktionen in deinen Tabellen vereinfachen.
Dann ist es einfacher per Button-Klick die Daten aus dem Eingabeblatt zu 100% jeweils neu in das Blatt Teilnehmer zu übertragen und anschließend die Liste zu sortieren und die Spalte "Platz" auszufüllen.
Entscheide dich erst einmal, wie/wann du die Daten in deiner Tabelle hin- und herschaufeln willst, bevor du uns mit einer Bespieldatei kommst, die immer wieder fast bei Null anfängt, ohne vorherige Lösungsansätze zu berücksichtigen.
Gruß
Franz
Anzeige
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 13:29:38
Franc
Hmm ich würde erstmal sagen, was du an der Reihenfolge genau ändern willst.
Sobald man Start und Ziel kennt und das gleichbleibt, dann kann man auch was entsprechendes basteln.
Am besten immer eine Beispieldatei posten. Da reicht es meißt wenn du die Quelltabelle hast und dann manuell eine Zieltabelle erstellst. (am besten farblich markieren damit man das direkt sieht)
Wie man das letztendlich schreibt ist fast egal. Es gibt immer eine einfache, meißt langsame Variante oder komplizierter aussehende Varianten die aber meißt einen enomren Geschwindigkeitsvorteil bringen. (und auch meist flexibler sind)
Anzeige
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 13:38:00
Baywatch
Hi hier eine Bepieldatei, mein PRoblem ist auch, da schon eine VBA vorliegt ud ich nicht fit bin was anderes da einzubauen. In der Datei ist auch genau beschrieben wie ich es meine
Danke schon einmal
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 13:58:35
Bernhard
Hallo Baywatch,
wo ist Deine Beispieldatei?
Gruss
Bernhard
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 14:02:00
Baywatch
Sorry hatte ich vergessen

Die Datei https://www.herber.de/bbs/user/55345.xls wurde aus Datenschutzgründen gelöscht


Danke schon einmal
Anzeige
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 14:09:49
Bernhard
Hallo Baywatch,
da ich selber noch mit VBA herumstopsle kann ich dir leider auch nicht weiter helfen.
Sorry und schönes Wochenende
gruss
Bernhard
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 15:07:00
Franc
hmm eventuell irre ich mich ja aber reicht da nicht eine einfache "wenn" Formel?
Schau mal ob das so reicht wie ich das in der Beispieltabelle gemacht habe.
https://www.herber.de/bbs/user/55351.xls
Anzeige
bitte weiterlesen
12.09.2008 17:17:00
Baywatch
Hallo frans super das du dich meinem Problem annimst, hast du in der Datei die INformationen auch auf Seite 2 gelesen? und den anchfolgenden Thread?
Danke Gruß
Daniel
AW: bitte weiterlesen
13.09.2008 09:37:00
Franc
Ja, und ich kann auf Seite 2 die Reihenfolge über den Sortierenbutton ändern und scheint wunderbar zu funktionieren.
Anzeige
AW: Spalten kopieren und in anderer Reihenfolge ei
12.09.2008 15:27:00
Baywatch
Das ist quasi schon einmal super, so können die Daten kopiert werden, aber ich hatte ja in der Beispieldatei noch geschrieben, also bei dem Datenblatt Teilnehmer, das diese nach der Spalte mit der Überschrift Strecke sortiert werden sollten, und eine Platzierng in Spalte A vorgenommen wird und ich habe den verdacht, das wenn das passiert, das leider nciht mehr mit einer wenn Formel geht oder irre ich mich da, da die sortierung ja auch automatisch laufen soll.
Danke und Gruß
Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Spalten in Excel kopieren und umkehren


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei: Stelle sicher, dass Du die Datei geöffnet hast, in der Du die Spalten kopieren und in umgekehrter Reihenfolge einfügen möchtest.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Neues Modul erstellen: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xls)“ und wähle „Einfügen“ > „Modul“.

  4. Code eingeben: Kopiere den folgenden Code in das Modul:

    Sub SpecialCopy()
       Dim rngSource As Range
       With Worksheets("Tabelle1")
           Set rngSource = Union(.Range("A1").EntireColumn, _
                                 .Range("B1").EntireColumn, _
                                 .Range("C1").EntireColumn, _
                                 .Range("E1").EntireColumn, _
                                 .Range("F1").EntireColumn, _
                                 .Range("G1").EntireColumn, _
                                 .Range("H1").EntireColumn)
       End With
       rngSource.Copy Worksheets("Tabelle2").Range("A1")
    End Sub
  5. Code anpassen: Ändere die „Tabelle1“ und „Tabelle2“ nach Bedarf, um die korrekten Tabellennamen in Deiner Excel-Datei zu verwenden.

  6. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, indem Du ALT + F8 drückst, das Makro auswählst und auf „Ausführen“ klickst.


Häufige Fehler und Lösungen

  • Fehler: Nichts passiert nach dem Ausführen des Makros

    • Lösung: Überprüfe, ob die Tabellennamen korrekt sind und die Daten in „Tabelle1“ vorhanden sind.
  • Fehler: Falsche Reihenfolge der kopierten Spalten

    • Lösung: Stelle sicher, dass Du die Spalten im Union-Befehl in der gewünschten Reihenfolge angibst.

Alternative Methoden

  • Excel Formeln verwenden: Anstatt zu kopieren und einzufügen, kannst Du Formeln nutzen, um die Werte in die gewünschte Reihenfolge zu bringen. Zum Beispiel:

    =INDEX(Tabelle1!A:H, ROW(), COLUMN())
  • Manuelles Sortieren: Du kannst auch die Daten manuell in „Tabelle2“ eingeben und die Reihenfolge ändern, indem Du die Spalten einfach ziehst.


Praktische Beispiele

  • Beispiel 1: Wenn Du die Spalten A, B, C und E bis H kopieren und in der Reihenfolge H, E, F, G, A, B, C einfügen möchtest, passe den Code wie folgt an:

    Sub SpecialCopy()
       Dim rngSource As Range
       With Worksheets("Tabelle1")
           Set rngSource = Union(.Range("H1").EntireColumn, _
                                 .Range("E1").EntireColumn, _
                                 .Range("F1").EntireColumn, _
                                 .Range("G1").EntireColumn, _
                                 .Range("A1").EntireColumn, _
                                 .Range("B1").EntireColumn, _
                                 .Range("C1").EntireColumn)
       End With
       rngSource.Copy Worksheets("Tabelle2").Range("A1")
    End Sub

Tipps für Profis

  • Dynamische Referenzen: Verwende dynamische Zellreferenzen, um die Bereiche flexibel zu gestalten, falls sich die Anzahl der Spalten ändert.

  • Automatisierung: Du kannst das Makro so anpassen, dass es automatisch ausgeführt wird, wenn Du die Datei öffnest oder eine bestimmte Aktion ausführst.

  • Ereignisgesteuerte Makros: Nutze „Worksheet_Change“ oder „Workbook_Open“ Ereignisse, um Deine Makros bei bestimmten Aktionen auszuführen.


FAQ: Häufige Fragen

1. Wie kann ich die Reihenfolge der Spalten in Excel ändern?
Du kannst die Reihenfolge der kopierten Spalten im VBA-Code anpassen, indem Du die Reihenfolge der Union-Aufrufe änderst.

2. Ist es möglich, mehrere Tabellen gleichzeitig zu bearbeiten?
Ja, Du kannst den Code anpassen, um mehrere Tabellen zu durchlaufen und die Daten entsprechend zu kopieren und einzufügen.

3. Wie kann ich Werte in umgekehrter Reihenfolge einfügen?
Du kannst die Range-Anweisungen im Code so ändern, dass sie die Spalten in umgekehrter Reihenfolge ansprechen.

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