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

Forumthread: Makro bestimmte Zeilen nach unten verschieben

Makro bestimmte Zeilen nach unten verschieben
18.09.2016 13:50:47
D.
Leider kommen ich nicht weiter.
In einer Excel-Tabelle mit dem Namen "Bearbeiten" möchte ich die Spalten "B:N" ab dem markierten Bereich - der z.B. C27 oder C49 oder C289 oder auch C 2986 sein könnte- bei Klick auf eine "Befehlsschaltfläche" einschließlich der markierten Zeile eine Zeile nach unten verschiebt und dort wo der aktive markierte Bereich war eine leere Zeile einfügt, die dann auch wieder an der Stelle z.B. C27 aktiv sein soll um einen weiteren Datensatz einzuarbeiten.
Kann jemand helfen?
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro bestimmte Zeilen nach unten verschieben
18.09.2016 13:53:51
Hajo_Zi
mache es mit Doppelklick. Hier ein Code den ich gerade für ein anderes Forum geschrieben habe.
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 3 Then
Rows(Target.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'      Target.Offset(-1, 0).Formula = "=Row()-4"
Cancel = True
End If
End Sub


Anzeige
AW: Makro bestimmte Zeilen nach unten verschieben
18.09.2016 15:26:50
D,
Danke für die Kompetente Beantwortung. Funktioniert tadellos
Danke für Rückmeldung oT
18.09.2016 15:29:19
Hajo_Zi
AW: Makro bestimmte Zeilen nach unten verschieben
18.09.2016 14:30:48
D,
Danke Hajo_ZI
das mit dem Doppelklick geht ja noch besser- super Idee. Jedoch wird die Spalte A mit verschoben. Diese soll aber unberührt bleiben. Ist das möglich?
Anzeige
AW: Makro bestimmte Zeilen nach unten verschieben
18.09.2016 14:38:02
Hajo_Zi
es Stand im ersten Beitrag es soll eine leere Zeile eingefügt werden und daran habe ich mich gehalten.
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 3 Then
Range(Cells(Target.Row, 2), Cells(Target.Row, Columns.Count)).Insert Shift:=xlDown,  _
CopyOrigin:=xlFormatFromLeftOrAbove
'      Target.Offset(-1, 0).Formula = "=Row()-4"
Cancel = True
End If
End Sub
Gruß Hajo
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

Makro zum Verschieben von Zeilen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel bestimmte Zeilen nach unten zu verschieben und dabei eine leere Zeile einzufügen, kannst du ein einfaches Makro verwenden. Hier sind die Schritte, die du befolgen solltest:

  1. Öffne deine Excel-Datei und wechsle zum Reiter „Entwicklertools“. Falls dieser nicht sichtbar ist, aktiviere ihn über die Excel-Optionen.

  2. Klicke auf „Visual Basic“, um den VBA-Editor zu öffnen.

  3. Füge in das entsprechende Arbeitsblatt (z.B. „Bearbeiten“) den folgenden Code ein:

    Option Explicit
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       If Target.Column = 3 Then
           Range(Cells(Target.Row, 2), Cells(Target.Row, Columns.Count)).Insert Shift:=xlDown, _
           CopyOrigin:=xlFormatFromLeftOrAbove
           Cancel = True
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu deiner Excel-Tabelle.

  5. Doppelklicke auf eine Zelle in Spalte C, um die Zeile nach unten zu verschieben und eine leere Zeile einzufügen.


Häufige Fehler und Lösungen

  • Problem: Es wird die gesamte Zeile verschoben, einschließlich Spalte A.

    • Lösung: Achte darauf, dass der Code nur die gewünschten Spalten anspricht. Im obigen Beispiel wird die leere Zeile in Spalte B eingefügt, während Spalte A unberührt bleibt.
  • Problem: Das Makro funktioniert nicht, wenn es auf eine andere Spalte angewendet werden soll.

    • Lösung: Ändere die Bedingung If Target.Column = 3 Then auf die gewünschte Spalte, z.B. If Target.Column = 1 Then für Spalte A.

Alternative Methoden

Falls du kein Makro verwenden möchtest, kannst du auch manuell Zeilen in Excel nach unten verschieben:

  1. Wähle die Zeile aus, die du nach unten verschieben möchtest.
  2. Rechtsklicke und wähle „Einfügen“. Dadurch wird eine leere Zeile über der ausgewählten Zeile eingefügt.
  3. Wähle die ursprüngliche Zeile erneut aus und ziehe sie mit der Maus nach unten.

Diese Methode funktioniert gut, wenn du nur sporadisch Zeilen nach unten verschieben möchtest.


Praktische Beispiele

Hier sind zwei praktische Szenarien, in denen das Verschieben von Zeilen nützlich sein kann:

  1. Dateneingabe: Wenn du regelmäßig neue Daten in eine bestehende Liste einfügen musst, kann das Makro dir viel Zeit sparen, da es automatisch eine leere Zeile für neue Daten bereitstellt.
  2. Berichtswesen: Wenn du in einer Tabelle regelmäßig neue Berichte hinzufügst und die bestehende Struktur beibehalten möchtest, kannst du schnell eine Zeile nach unten verschieben und eine leere Zeile einfügen.

Tipps für Profis

  • Makro anpassen: Du kannst das Makro weiter anpassen, um bestimmte Formatierungen oder Formeln in die neue Zeile einzufügen.
  • Tastenkombination: Du kannst das Makro auch so einrichten, dass es mit einer Tastenkombination ausgelöst wird, anstatt mit einem Doppelklick.
  • Fehlerbehandlung: Füge Fehlerbehandlungen in deinen Code ein, um sicherzustellen, dass das Makro bei unerwarteten Eingaben nicht abstürzt.

FAQ: Häufige Fragen

1. Kann ich das Makro für andere Spalten verwenden?
Ja, du kannst die Spalte im Code ändern, um das Makro für jede gewünschte Spalte anzuwenden.

2. Funktioniert das auch in Word?
Die beschriebenen Methoden gelten hauptsächlich für Excel. In Word musst du die Zeilen in Tabellen manuell verschieben, indem du die gesamte Zeile auswählst und sie nach unten ziehst.

3. Was tun, wenn das Makro nicht reagiert?
Überprüfe, ob die Entwicklertools aktiviert sind und ob das Makro korrekt im richtigen Arbeitsblatt eingefügt wurde.

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