Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalten einfügen per VBA

Spalten einfügen per VBA
19.06.2015 12:50:16
Michael
Forum,
irgendwie macht mein Code etwas komisches. Mit diesem simplen Code füge ich zum Schluss zwei weitere Spalten ein:
Columns("L:M").Select
Selection.Insert Shift:=xlToRight
Range("L2").Select
ActiveCell.FormulaR1C1 = "Pro"
Range("M2").Select
ActiveCell.FormulaR1C1 = "Con"
Columns("L:M").Select
Selection.Columns.AutoFit
Am Ende macht er mir 6 Spalten, jeweils 2 links und 2 rechts von den gewünschten.
Füge ich die zwei neuen Spalten zwischen D:E ein dann macht er das auch richtig. Muss ich das verstehen?
Michael

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Spalten einfügen per VBA
19.06.2015 13:04:11
Rudi
Hallo,
bei mir nicht.
besser:
 Columns("L:M").Insert Shift:=xlToRight
Range("L2") = "Pro"
Range("M2") = "Con"
Columns("L:M").AutoFit

Gruß
Rudi

AW: Spalten einfügen per VBA
19.06.2015 13:53:44
Michael
Danke Euch beiden.
Mit deinem code geht alles reibungslos. Trotzdem verstehe ich nicht ganz warum.
Gruß
Michael

Anzeige
AW: Spalten einfügen per VBA
19.06.2015 13:05:21
Senna
Hallo Michael,
bei mir läuft es einwandfrei durch und fügt auch nur 2 Spalten ein. Schau mal, ob du irgendwo sonst im code noch mal ein "insert" stehen hast.
;

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

Spalten einfügen per VBA


Schritt-für-Schritt-Anleitung

Um mit VBA eine oder mehrere Spalten in Excel einzufügen, kannst du die folgenden Schritte befolgen:

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

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf „VBAProject“ klickst und „Einfügen“ > „Modul“ auswählst.

  3. Kopiere den folgenden Code in das Modul:

    Sub SpaltenEinfügen()
       Columns("L:M").Insert Shift:=xlToRight
       Range("L2").Value = "Pro"
       Range("M2").Value = "Con"
       Columns("L:M").AutoFit
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Drücke ALT + F8, wähle das Makro „SpaltenEinfügen“ aus und klicke auf „Ausführen“.

Damit fügst du zwei neue Spalten in die Spalten L und M ein.


Häufige Fehler und Lösungen

  • Fehler: Es werden mehr Spalten eingefügt als gewünscht.

    • Lösung: Überprüfe deinen Code auf zusätzliche Insert-Befehle. Wie im Beitrag von Michael erwähnt, kann ein doppelter Befehl dazu führen, dass unerwartete Spalten eingefügt werden.
  • Fehler: Die neuen Spalten werden nicht richtig benannt.

    • Lösung: Stelle sicher, dass du die Zellen direkt nach dem Einfügen der Spalten korrekt ansprichst, wie im Beispielcode gezeigt.

Alternative Methoden

Wenn du eine neue Spalte einfügen möchtest, kannst du auch die Tastenkombination STRG + SHIFT + "+" verwenden, nachdem du die betreffende Spalte ausgewählt hast. Dies ist eine einfache Methode, die ohne VBA funktioniert.


Praktische Beispiele

Hier sind einige Beispiele, wie du den Code anpassen kannst:

  • Einfügen einer einzelnen Spalte:

    Sub EineSpalteEinfügen()
       Columns("L").Insert Shift:=xlToRight
       Range("L2").Value = "Pro"
       Columns("L").AutoFit
    End Sub
  • Einfügen von Spalten zwischen bestehenden Spalten:

    Sub ZwischenSpaltenEinfügen()
       Columns("D:E").Insert Shift:=xlToRight
       Range("D2").Value = "Neu1"
       Range("E2").Value = "Neu2"
       Columns("D:E").AutoFit
    End Sub

Tipps für Profis

  • Nutze With ... End With-Strukturen, um den Code übersichtlicher zu gestalten.
  • Du kannst auch den Range-Befehl innerhalb der Insert-Methode verwenden, um flexibler zu sein.
  • Achte darauf, deine VBA-Prozeduren gut zu kommentieren, damit du in Zukunft einfacher nachverfolgen kannst, was der Code macht.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Spalten auf einmal einfügen?
Du kannst mehrere Spalten wie im Beispiel mit Columns("L:M").Insert Shift:=xlToRight einfügen.

2. Welche Excel-Version wird benötigt?
Der VBA-Code funktioniert in den meisten aktuellen Excel-Versionen, darunter Excel 2016, 2019 und Microsoft 365.

3. Kann ich die neuen Spalten auch formatieren?
Ja, du kannst die neuen Spalten nach dem Einfügen formatieren, indem du zusätzliche Formatierungsbefehle in deinen Code einfügst.

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