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

Forumthread: Selektierten Bereich um eine Spalte verschieben

Selektierten Bereich um eine Spalte verschieben
Lutz
Hallo Excel-Profis,
ich möchte mit einem Makro immer gleich bestimmte Bereiche mit einer Gruppierung versehen.
In Spalte A stehen ab A3 Werte bis A?
Das kann ich mit
Range("A3").Activate
Range(Selection, Selection.End(xlDown)).Select
ja prima selektieren.
Jetzt muß ich aber die Selection um eine Spalte in Spalte B (mit der gleichen Zeilananzahl) verschieben um danach zu Gruppieren.
Wie kann ich die Selection um diese eine Spalte verschieben?
Vielen Dank für Eure Hilfe,
viele Grüße Lutz
Anzeige
AW: Selektierten Bereich um eine Spalte verschieben
23.03.2011 14:02:44
Klaus
Hallo Lutz,
das geht mit resize:
Sub Makro1()
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Resize(, 2).Select
End Sub
Oder etwas eleganter als 1-Zeiler:
Sub Makro2()
Range("A3").Resize(Range("A3").End(xlDown).Row - Range("A3").Row + 1, 2).Select
End Sub
Auf .select solltest du aber wo immer möglich verzichten. Was hast du denn mit der selektierten Gruppe vor?
Grüße,
Klaus M.vdT.
Anzeige
AW: Selektierten Bereich um eine Spalte verschieben
23.03.2011 14:26:50
Lutz
Hallo Klaus,
vielen Dank, habe noch ein Problem:
er selektiert jetzt Spalten A und B, er soll aber nur noch den gleichen Bereich in Spalte B selektieren - geht das auch?
Viele Grüße Lutz
AW: Selektierten Bereich um eine Spalte verschieben
23.03.2011 14:41:04
Klaus
Hallo Lutz,
dann nimm OFFSET statt RESIZE:
Selection.Offset(, 1).Select
Grüße,
Klaus M.vdT.
Anzeige
AW: Selektierten Bereich um eine Spalte verschieben
23.03.2011 15:08:03
Lutz
Hallo Klaus,
tausend dank - klappt perfekt: er selektiert nur noch Spalte B mit den gleichen Zeilen.
Was ein Wort doch so alles ausmacht...
Vielen Dank und noch einen schönen Tag.
Viele Grüße Lutz
Danke für die Rückmeldung! o.w.T.
24.03.2011 13:06:23
Klaus
.
AW: Selektierten Bereich um eine Spalte verschieben
23.03.2011 14:42:10
Rudi
Hallo,
also nur B in Abhängigkeit von A?
Range(cells(3,1),cells(3,1).end(xldown)).offset(,1).select
Gruß
Rudi
Anzeige
AW: Selektierten Bereich um eine Spalte verschieben
23.03.2011 15:07:20
Lutz
Hallo Rudi,
tausend dank - klappt perfekt: er selektiert nur noch Spalte B mit den gleichen Zeilen.
Vielen Dank und noch einen schönen Tag.
Viele Grüße Lutz
;
Anzeige
Anzeige

Infobox / Tutorial

Selektierten Bereich um eine Spalte verschieben


Schritt-für-Schritt-Anleitung

Um einen selektierten Bereich in Excel um eine Spalte zu verschieben, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

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

  2. Füge ein neues Modul hinzu: Rechtsklicke im Projekt-Explorer auf „VBAProject (DeineDatei.xlsx)“, wähle „Einfügen“ und dann „Modul“.

  3. Kopiere den folgenden Code in das Modul:

    Sub SpalteVerschieben()
       Range("A3").Select
       Selection.Offset(, 1).Select
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus: Gehe zu „Entwicklertools“ > „Makros“, wähle „SpalteVerschieben“ aus und klicke auf „Ausführen“.

Mit diesem Makro wird die Markierung um eine Spalte nach rechts verschoben. Du kannst die Zeilenanpassungen anpassen, indem du Range("A3") änderst.


Häufige Fehler und Lösungen

  • Fehler: Auswahl umfasst mehrere Spalten

    • Lösung: Stelle sicher, dass du Selection.Offset(, 1).Select verwendest, um nur die nächste Spalte auszuwählen.
  • Fehler: Makro läuft nicht

    • Lösung: Überprüfe, ob Makros in deiner Excel-Datei aktiviert sind. Gehe zu „Datei“ > „Optionen“ > „Trust Center“ > „Einstellungen für das Trust Center“ und aktiviere die Makros.

Alternative Methoden

Falls du kein Makro verwenden möchtest, kannst du die folgende Methode nutzen:

  1. Markiere die Zellen in Spalte A.
  2. Kopiere die Werte mit Strg + C.
  3. Wechsel zu Spalte B und füge die Werte mit Strg + V ein.

Diese Methode ist weniger automatisiert, ermöglicht dir aber eine schnelle Verschiebung der Daten.


Praktische Beispiele

Wenn du zum Beispiel Werte in Spalte A hast und diese in Spalte B verschieben möchtest, könntest du den folgenden Code verwenden, um die Auswahl perfekt zu verschieben:

Sub SpaltenVerschiebenPerfekt()
    Dim letzteZeile As Long
    letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
    Range("A3:A" & letzteZeile).Offset(0, 1).Select
End Sub

Dieses Beispiel ermittelt die letzte Zeile in Spalte A und verschiebt die Auswahl perfekt zu Spalte B.


Tipps für Profis

  • Vermeide die Verwendung von .Select und .Activate, um die Leistung deiner Makros zu verbessern. Arbeite direkt mit den Range-Objekten.

  • Nutze die Resize-Methode, um die Auswahl zu verändern, ohne die Zellen tatsächlich zu selektieren. Beispiel:

    Range("A3").Resize(, 2).Offset(, 1).Value = Range("A3").Value

Das verschiebt die Werte von Spalte A direkt in Spalte B, ohne die Markierung zu ändern.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Spalten gleichzeitig verschieben?
Du kannst die Resize-Methode nutzen, um mehrere Spalten zu verschieben. Beispiel:

Range("A3").Resize(, AnzahlDerSpalten).Offset(, 1).Select

2. Funktioniert das auch in Excel Online?
Leider sind VBA-Makros nicht in Excel Online verfügbar. Du musst die Desktop-Version von Excel verwenden, um diese Funktionen zu nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige