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

Forumthread: Kopierte Spalten in nächste freie Spalte einfügen

Kopierte Spalten in nächste freie Spalte einfügen
12.08.2016 10:09:38
Carla
Hallo,
ich habe eine kurze Frage. Ich kenne mich leider überhaupt nicht mit Programmierung aus. Ich habe lediglich gefunden, dass ich Makros aufzeichnen kann und so dann immer versucht das zu bekommen, was ich will. Jetzt weiß ich nicht mehr weiter.
Ich muss die Spalten I-K einer Tabelle immer wieder rechts in die nächste freie Spalte einfügen. Bisher habe ich folgendes:
Sub Neue_Spalte() ' Neue_Spalte Makro Columns("I:K").Select Selection.Copy Columns("L:L").Select ActiveSheet.Paste Range("L2:N2").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "" Range("L3").Select End Sub Das Problem ist natürlich jetzt, dass immer wieder in die Spalte L eingefügt wird und nicht in die nächste freie. Könnt ihr mir helfen?
Danke schonmal.
Carla
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopierte Spalten in nächste freie Spalte einfügen
12.08.2016 10:51:10
Matthias
Hallo
Könnte also so aussehen?
Tabelle1

 ABCDEFGHIJKLMNOPQR
1ABCDEFGHIJK MN    
2ABCDEFGHIJK MN    
3ABCDEFGHIJK MN    


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Spalte(I:K) soll kopiert werden?
Wo willst Du sie nun einfügen, in Spalte(L) und den Rest nach rechts verschieben,
oder doch eher ans Ende, also hier nach Spalte(O) ?
Gruß Matthias
Anzeige
AW: Kopierte Spalten in nächste freie Spalte einfügen
12.08.2016 11:00:12
Carla
Hey Matthias,
ich möchte die Vorlage aus Spalte I-K immer wieder rechts neben die letzte belegte Spalte einfügen. Im Beispiel wäre das jetzt O, dann R und so weiter.
Userbild
AW: Kopierte Spalten in nächste freie Spalte einfügen
12.08.2016 11:19:29
Matthias
Hallo
Option Explicit
Sub Carla()
Dim MyCol&
MyCol = Columns(Columns.Count).End(xlToLeft).Column + 1
Columns("I:K").Copy
Columns(MyCol).Insert Shift:=xlToRight
Application.CutCopyMode = False
Range("L2:N2").ClearContents
End Sub
Gruß Matthias
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

Kopierte Spalten in die nächste freie Spalte einfügen


Schritt-für-Schritt-Anleitung

Um die Spalten I-K in die nächste freie Spalte einzufügen, folge diesen Schritten:

  1. Öffne die Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (deineDatei.xlsx)", wähle "Einfügen" und dann "Modul".

  3. Kopiere den folgenden VBA-Code in das Modul:

    Option Explicit
    
    Sub KopiereSpalten()
       Dim MyCol As Long
       MyCol = Cells(1, Columns.Count).End(xlToLeft).Column + 1 ' Bestimme die nächste freie Spalte
       Columns("I:K").Copy ' Kopiere die Spalten I bis K
       Columns(MyCol).Insert Shift:=xlToRight ' Füge sie in die nächste freie Spalte ein
       Application.CutCopyMode = False ' Deaktiviere den Kopiermodus
       Range(Cells(2, MyCol), Cells(2, MyCol + 2)).ClearContents ' Lösche die obersten Zellen der neuen Spalten
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: Drücke ALT + F8, wähle KopiereSpalten und klicke auf "Ausführen".


Häufige Fehler und Lösungen

  • Fehler: Das Makro fügt die Spalten nicht in die nächste freie Spalte ein.

    • Lösung: Stelle sicher, dass die Daten in der letzten Spalte nicht zusammenhängend sind. Der Code sucht die letzte belegte Spalte. Wenn diese nicht erkannt wird, könnte das daran liegen, dass es leere Zellen gibt.
  • Fehler: Die kopierten Spalten werden nicht richtig eingefügt.

    • Lösung: Überprüfe, ob der Bereich Columns("I:K") korrekt definiert ist und keine Schreibschutz- oder Formatierungsprobleme bestehen.

Alternative Methoden

Wenn Du keine VBA-Makros verwenden möchtest, kannst Du die Spalten auch manuell kopieren und in die nächste freie Spalte einfügen:

  1. Kopiere die Spalten I-K mit STRG + C.
  2. Finde die nächste freie Spalte: Gehe dazu in die letzte Spalte deiner Daten und drücke die rechte Pfeiltaste.
  3. Füge die Spalten ein mit STRG + V.

Diese Methode ist einfach, jedoch nicht automatisiert.


Praktische Beispiele

Angenommen, Du hast folgende Daten in Excel:

A B C D E F G H I J K
1 1 2 3
2 4 5 6

Nach dem Ausführen des Makros wird die Tabelle folgendermaßen aussehen:

A B C D E F G H I J K L M N
1 1 2 3
2 4 5 6

Tipps für Profis

  • Nutze Excel-Shortcuts: Um schneller zu arbeiten, verwende Tastenkombinationen wie STRG + C zum Kopieren und STRG + V zum Einfügen.
  • Testen in einer Kopie: Bevor Du das Makro auf deine Hauptdatei anwendest, teste es in einer Kopie deiner Datei.
  • Makros abspeichern: Speichere deine Excel-Datei als .xlsm, um sicherzustellen, dass die Makros erhalten bleiben.

FAQ: Häufige Fragen

1. Frage Kann ich das Makro anpassen, um mehr als nur die Spalten I-K zu kopieren?

Antwort: Ja, Du kannst den Bereich in der Zeile Columns("I:K").Copy anpassen, um andere Spalten zu kopieren.

2. Frage Welche Excel-Version benötige ich für VBA-Makros?

Antwort: VBA-Makros sind in Excel 2007 und höheren Versionen verfügbar. Stelle sicher, dass Du eine kompatible Version verwendest.

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