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

Forumthread: verschieben von verbundenen Zeilen

verschieben von verbundenen Zeilen
12.12.2022 20:16:03
verbundenen
Hallo,
ich habe eine kleine Excel Datei in der ich mit Hilfe von Buttons eine komplette Zeile mit Inhalt und Formatierung nach "oben" oder nach "unten" verschieben kann.
Jedoch würde ich den VBA-Code gerne so anpassen, dass sich auch verbundene Zeilen verschieben lassen über die Buttons.
Es muss erst in eine Zelle geklickt werden, dessen Zeile verschoben werden soll.
Ich würde mich über Eure Hilfe freuen.
Hier eine Beispieldatei:
https://www.herber.de/bbs/user/156678.xlsm
Hier mein code:
'##########Zeile nach Oben verschieben################

Private Sub CommandButton27_Click()
Dim lngZeile As Long
lngZeile = Selection.Row
If lngZeile > 16 Then  'Grenze anpassen!!!
Rows(lngZeile).Cut
Rows(lngZeile - 1).EntireRow.Insert Shift:=xlDown
Rows(lngZeile - 1).Select
End If
End Sub
'##########Zeile nach Unten verschieben################

Private Sub CommandButton28_Click()
Dim lngZeile As Long
lngZeile = Selection.Row
If lngZeile > 15 Then  'Grenze anpassen!!!
Rows(lngZeile).Cut
Rows(lngZeile + 2).EntireRow.Insert Shift:=xlDown
Rows(lngZeile + 1).Select
End If
End Sub
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: verschieben von verbundenen Zeilen
12.12.2022 21:30:16
verbundenen
Hi
wenn du Verbundzellen bearbeiten willst, musst du schauen, dass du immer den ganzen Zellverbund bearbeitest und nicht Teile des Verbundes.
in diesem Fall kann man mal SELECT benutzen, weil es beim Selektieren über die ganze Zeile alle Zellverbünde in diesem Bereich berücksichtigt.
außerdem habe ich dabei festgestellt, dass es einfacher ist, nach oben zu verschieben als nach unten. Daher habe ich das nach unten verschieben dadurch realisiert, dass ich die darunter liegende Zeile nach oben verschiebe.
Da der Codeteil zum Verschieben jetzt für beide Markos gleich ist, habe ich ihn in ein drittes Makro ausgelagert, damit ich ihn nicht doppelt schreiben muss.

'##########Zeile nach Oben verschieben################
Private Sub CommandButton27_Click()
Dim lngZeile As Long
lngZeile = Selection.Row
If lngZeile > 16 Then  'Grenze anpassen!!!
Call Verschieben(lngZeile)
Rows(lngZeile - 1).Select
End If
End Sub
'##########Zeile nach Unten verschieben################
Private Sub CommandButton28_Click()
Dim lngZeile As Long
lngZeile = Selection.Row
If lngZeile > 15 Then  'Grenze anpassen!!!
Selection.EntireRow.Select
lngZeile = lngZeile + Selection.Rows.Count
Call Verschieben(lngZeile)
Rows(lngZeile + 1).Select
End If
End Sub
Private Sub Verschieben(lngZeile As Long)
Rows(lngZeile).Select
Selection.Cut
Rows(lngZeile - 1).EntireRow.Select
Selection.Insert Shift:=xlDow
End Sub
Gruß Daniel
Anzeige
AW: verschieben von verbundenen Zeilen
12.12.2022 22:04:02
verbundenen
Danke Daniel,
du hast mir den Abend gerettet. :-)
Ich hätte leider noch ein weiteres Rätzel :-D
Wenn sich jetzt leere Felder in Spalte B befinden, würde ich diese gerne ausblenden und einblenden lassen über einen Toggelbutton.
Jedoch werden jetzt durch die verbunden Zellen alle Felder ausgeblendet :-(
Hast du auch dazu eine Lösung, ist mir schon unangenehm zu fragen.
Gruß Deniz
Anzeige
AW: verschieben von verbundenen Zeilen
13.12.2022 10:58:59
verbundenen
Hi
schwierig bei Verbundenen Zellen.
im Prinzip müsste bei den Verbunden Zellen in Spalte B auch die untere Zelle den Text enthalten, damit du filtern kannst.
Das geht mit etwas aufwand:
1. Zellverbund aufheben
2. Text in die darunterliegende Zelle übernehmen
3. Zellverbund wieder herstellen, aber nicht über die übliche Methode, sondern dadurch, dass du einen anderen Zellbereich, der schon die Wunschformatierung mit (Verbund, Rahmenlinen, Färbung) hat, kopierst und dann die Formatierung auf die anderen Zellen überträgst. So bleibt der Text in den anderen Verbundzellen erhalten und wird nicht gelöscht.
Gruß Daniel
Anzeige
AW: verschieben von verbundenen Zeilen
13.12.2022 18:17:04
verbundenen
Hi, danke für die einzelnen Schirtte.
Werde mich dran versuchen, obwohl ich jetzt schon weiß das das nichts wird :-)
Gruß Deniz
;

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

Verbundene Zellen in Excel Verschieben: So Geht's


Schritt-für-Schritt-Anleitung

Um verbundene Zellen in Excel zu verschieben, kannst du die folgenden Schritte befolgen. Diese Anleitung basiert auf VBA-Code, der es ermöglicht, eine gesamte Zeile, einschließlich verbundener Zellen, nach oben oder unten zu verschieben.

  1. Öffne den VBA-Editor:

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

    • Erstelle ein neues Modul und füge den folgenden Code ein:
    Private Sub CommandButton27_Click()
       Dim lngZeile As Long
       lngZeile = Selection.Row
       If lngZeile > 16 Then  'Grenze anpassen!!!
           Call Verschieben(lngZeile)
           Rows(lngZeile - 1).Select
       End If
    End Sub
    
    Private Sub CommandButton28_Click()
       Dim lngZeile As Long
       lngZeile = Selection.Row
       If lngZeile > 15 Then  'Grenze anpassen!!!
           Selection.EntireRow.Select
           lngZeile = lngZeile + Selection.Rows.Count
           Call Verschieben(lngZeile)
           Rows(lngZeile + 1).Select
       End If
    End Sub
    
    Private Sub Verschieben(lngZeile As Long)
       Rows(lngZeile).Select
       Selection.Cut
       Rows(lngZeile - 1).EntireRow.Select
       Selection.Insert Shift:=xlDown
    End Sub
  3. Füge Schaltflächen hinzu:

    • Füge zwei Schaltflächen in dein Arbeitsblatt ein, um die Funktionen „Nach oben verschieben“ und „Nach unten verschieben“ zu aktivieren.
  4. Testen:

    • Wähle eine Zelle in der Zeile, die du verschieben möchtest, und klicke auf die entsprechenden Schaltflächen.

Häufige Fehler und Lösungen

  • Fehler: Die verbundenen Zellen werden nicht korrekt verschoben.

    • Lösung: Stelle sicher, dass du die gesamte Zeile oder den gesamten Zellverbund auswählst, bevor du die Schaltfläche drückst.
  • Fehler: Excel gibt eine Fehlermeldung aus, wenn du versuchst, leere Zeilen zu verschieben.

    • Lösung: Überprüfe die Zeilen, um sicherzustellen, dass sie nicht leer sind. Du kannst auch eine Bedingung hinzufügen, um nur gefüllte Zeilen zu verschieben.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch die folgenden Schritte ausprobieren:

  1. Manuelles Verschieben:

    • Wähle die verbundenen Zellen aus, klicke mit der rechten Maustaste und wähle „Ausschneiden“. Wähle dann die Zielzeile aus, klicke mit der rechten Maustaste und wähle „Einfügen“.
  2. Zellen nach unten verschieben:

    • Du kannst die gesamte Zeile auswählen und sie dann mit STRG + X ausschneiden und an der gewünschten Position mit STRG + V einfügen.

Praktische Beispiele

  • Beispiel 1: Wenn du eine ganze Zeile mit verbundenen Zellen nach unten verschieben möchtest, wähle die Zeile aus, drücke STRG + X, wähle die Zeile darunter aus und drücke STRG + V.

  • Beispiel 2: Um mehrere verbundene Zellen zu verschieben, markiere den gesamten Zellbereich, der die verbundenen Zellen enthält, und folge dem gleichen Ausschneiden und Einfügen.


Tipps für Profis

  • Nutze die AutoAusfüllen-Funktion, um schnell Daten in benachbarte Zellen zu übertragen, nachdem du die verbundene Zelle verschoben hast.

  • Wenn du mit Gruppierungen arbeitest, stelle sicher, dass du die Gruppierung oben statt unten anordnest, um die Übersichtlichkeit zu erhöhen.

  • Überlege, ob du verbundene Zellen aufheben möchtest, bevor du sie verschiebst, um die Handhabung zu erleichtern. Du kannst dies mit Zellen formatieren > Ausrichtung > Zellverbund aufheben.


FAQ: Häufige Fragen

1. Warum kann ich verbundene Zellen nicht verschieben? Um verbundene Zellen zu verschieben, musst du die gesamte Zeile oder den gesamten Zellverbund auswählen. Stelle sicher, dass du die richtigen Zellen auswählst.

2. Wie hebe ich einen Zellverbund auf? Gehe zu Zellen formatieren > Ausrichtung und deaktiviere die Option „Zellen verbinden“. Dadurch wird der Zellverbund aufgehoben und der Text bleibt in der oberen linken Zelle.

3. Kann ich verbundene Zellen kopieren? Ja, du kannst verbundene Zellen kopieren, indem du sie auswählst, STRG + C drückst und dann an der gewünschten Stelle STRG + V verwendest. Achte darauf, dass du die Formatierung beibehältst.

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