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

Forumthread: Spalten verschieben

Spalten verschieben
01.02.2005 09:27:18
Simone
Wie kann ich mit Hilfe von VBA Spalten verschieben?
Die Reihenfolge der eingeblendeten Spalten soll vom Benutzer ganz einfach zu verändern sein.
Wie kann ich dieses Problem angehen?
Habe es bis jetzt immer mit einer InputBox versucht, in der ich die Spalte eingebe die ich verschieben möchte und dann hörts bei mir schon auf.
Weiß überhaupt nicht wie ich das lösen soll.
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten verschieben
RR
Hallo,
was meinst du mit verschieben? Willst du sie an einer anderen Stelle wieder einfügen oder willst du vor dieser Spalte eine neue Spalte einfügen?
RR
AW: Spalten verschieben
01.02.2005 09:44:02
Simone
Ich will die Spalte an einer anderen Stelle wieder einfügen!
A------------------B-----------------C--------------------D
KdNr----------Kd Name-------KdAdresse-------KdTelefon
12345---------Grieb--------Dortmund--------0231/12345
Zeile B soll jetzt z.B. zwischen Zeile C und D.
Der Ort soll aber frei wählbar sein.
Anzeige
AW: Spalten verschieben
RR
Hallo,
das sollte so funktionieren:

Sub Spalte_verschieben()
Dim QS, ZS As String
Q = InputBox("Welche Spalte soll verschoben werden?")
Z = InputBox("Vor welcher Spalte soll eingefügt werden?")
QS = Q & ":" & Q
ZS = Z & ":" & Z
Columns(QS).Select
Selection.Cut
Columns(ZS).Select
Selection.Insert Shift:=xlToRight
End Sub

Gruß
RR
Anzeige
AW: Spalten verschieben
01.02.2005 11:09:10
Simone
Jetzt vertauscht er mir beide Spalten.
Find ich schon mal eine super lösung.
aber klappt es auch irgendwie das er nur die eine Spalte an die gewünschte Stelle einfügt?
Danke schonmal!!!
Super Hilfe!
AW: Spalten verschieben
RR
Hallo,
willst du einfach nur eine neue (leere) Spalte einfügen oder soll eine bereits bestehende Spalte an einen anderen Ort kopiert werden?
RR
Anzeige
AW: Spalten verschieben
01.02.2005 11:31:16
Simone
ich möchte eine bestehende Spalte an einen anderen Ort verschieben!
So wie per Hand:
Spalte C Ausschneiden und zwischen Spalte G und H einfügen :-)
AW: Spalten verschieben
RR
Hallo,
aber gerade das passiert doch bei meinem Makro. Er schneidet die Quellspalte (C) aus und fügt sie vor der Zielspalte (H) wieder ein.
RR
Anzeige
AW: Spalten verschieben
01.02.2005 11:52:22
Simone
Ja hast recht. Habe nicht genau geschaut.
Vielen Vielen Dank!!!
Bei mit sah das nur alles so komisch aus weil ich soviel geöffnet hatte.
;

Forumthreads zu verwandten Themen

Anzeige
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 verschieben in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um in Excel Spalten zu verschieben, kannst Du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie Du dies umsetzen kannst:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Kopiere den folgenden Code in das Modul:

    Sub Spalte_verschieben()
       Dim QS As String, ZS As String
       QS = InputBox("Welche Spalte soll verschoben werden?")
       ZS = InputBox("Vor welcher Spalte soll eingefügt werden?")
       Columns(QS & ":" & QS).Cut
       Columns(ZS & ":" & ZS).Insert Shift:=xlToRight
    End Sub
  4. Führe das Makro aus:

    • Drücke F5 oder gehe zu Ausführen > Sub/UserForm ausführen.
  5. Gib die Spalten ein:

    • Wenn Du aufgefordert wirst, gib die Spalte ein, die Du verschieben möchtest, und die Spalte, vor der sie eingefügt werden soll.

Damit kannst Du die Reihenfolge der Spalten in Excel ganz einfach ändern.


Häufige Fehler und Lösungen

  • Vertauschte Spalten: Wenn beim Ausführen des Makros die Spalten vertauscht werden, stelle sicher, dass Du die richtige Spalte in den Input-Boxen eingibst. Das Makro schneidet die Quellspalte aus und fügt sie vor der Zielspalte ein.

  • Spalte nicht gefunden: Achte darauf, dass die eingegebene Spaltenbezeichnung korrekt ist (z.B. "B" für die zweite Spalte). Fehlerhafte Eingaben führen dazu, dass das Makro nicht funktioniert.

  • Automatisches Einfügen: Wenn Du eine bestehende Spalte an einen anderen Ort verschieben möchtest, solltest Du sicherstellen, dass Du die Quell- und Zielspalte genau angibst.


Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du auch die manuelle Methode nutzen:

  1. Markiere die gewünschte Spalte.
  2. Rechtsklick und „Ausschneiden“ wählen.
  3. Rechtsklick auf die Zelle, vor der die Spalte eingefügt werden soll und wähle „Einfügen“.

Diese Methode ist einfach, jedoch weniger flexibel als die Verwendung von VBA.


Praktische Beispiele

Angenommen, Du hast die folgende Tabelle:

A B C D
KdNr Kd Name Kd Adresse Kd Telefon
12345 Grieb Dortmund 0231/12345

Um die Spalte B (Kd Name) zwischen C (Kd Adresse) und D (Kd Telefon) zu verschieben, führst Du das Makro aus und gibst ein:

  • Spalte: B
  • Vor Spalte: D

Das Ergebnis wird sein:

A C D B
KdNr Kd Adresse Kd Telefon Kd Name
12345 Dortmund 0231/12345 Grieb

Tipps für Profis

  • Verwende benannte Bereiche: Wenn Du häufig bestimmte Spalten verschieben musst, kannst Du benannte Bereiche in Excel nutzen, um die Eingabe zu vereinfachen.

  • Fehlerbehandlung im VBA: Implementiere Fehlerbehandlungsroutinen, um sicherzustellen, dass das Makro auch bei ungültigen Eingaben robust bleibt.

  • Makros speichern: Stelle sicher, dass Du die Excel-Datei im .xlsm-Format speicherst, damit Deine Makros erhalten bleiben.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Spalten gleichzeitig verschieben?
Du kannst das Makro anpassen, indem Du eine Schleife verwendest, um mehrere Spalten gleichzeitig zu verschieben.

2. Funktioniert das Makro in allen Excel-Versionen?
Ja, das VBA-Makro funktioniert in den meisten modernen Excel-Versionen, solange Du den VBA-Editor verwenden kannst.

3. Kann ich das Makro anpassen, um eine Spalte nach links zu verschieben?
Ja, Du kannst die Logik im Makro anpassen, um die Spalte nach links zu verschieben, indem Du die Zielspalte entsprechend änderst.

4. Was ist, wenn ich eine ganze Spalte verschieben möchte?
Das Makro verschiebt standardmäßig die gesamte Spalte, solange Du die richtige Spaltenbezeichnung eingibst.

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