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

Ganze Zeile verschieben bei Kontrollkästchen

Forumthread: Ganze Zeile verschieben bei Kontrollkästchen

Ganze Zeile verschieben bei Kontrollkästchen
11.11.2015 14:48:17
Stefanie
Hallo,
ich habe eine Excel-Tabelle bestehend aus den Spalten A-G und in der letzten Spalte (G - 2-65) jeweils ein Kontrollkästchen (Formularsteuerelement). ich möchte nun, dass, wenn das Kontrollkästchen angehakt wird die gesamte Zeile in ein anderes Tabellenblatt verschoben wird. Also aus dem ursprünglichen Blatt gelöscht wird.
Ich wäre für Hilfe sehr dankbar, bin blutiger Anfänger

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Vorschlag
11.11.2015 16:36:21
Michael
Hi Stefanie,
ich mag diese endlosen Checkboxen nicht: die mußt Du erst setzen, das ist Arbeit, und dann auswerten, das ist auch Arbeit.
Ich stelle Dir eine Lösung rein, die genau das tut, was Du willst, wenn Du eine Zelle in Spalte G "doppelklickst": https://www.herber.de/bbs/user/101419.xls
Die gelöschten Zeilen landen untereinander auf "Tabelle2".
Der Code:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim zeile As Long
If Not Intersect(Target, Range("G2:G65")) Is Nothing Then
zeile = Sheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1
Range("A" & Target.Row).Resize(, 6).Copy Sheets(2).Cells(zeile, 1)
Rows(Target.Row).Delete Shift:=xlUp
Cancel = True
End If
End Sub
Schöne Grüße,
Michael

Anzeige
AW: Vorschlag
11.11.2015 17:45:14
Stefanie
Hallo Michael,
1000 Dank! Funktioniert super, ich bin begeistert!!
Liebe Grüße,
Steffi

freut mich, LG zurück owT
11.11.2015 20:11:03
Michael
;
Anzeige
Anzeige

Infobox / Tutorial

Ganze Zeile verschieben bei Kontrollkästchen in Excel


Schritt-für-Schritt-Anleitung

Um eine komplette Zeile in Excel zu verschieben, wenn ein Kontrollkästchen aktiviert wird, kannst du den folgenden VBA-Code verwenden. Dieser Code ermöglicht es dir, die Zeile zu verschieben, wenn du auf eine Zelle in Spalte G doppelklickst.

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

  2. Im Projektfenster (links) wähle das entsprechende Arbeitsblatt aus, in dem sich deine Kontrollkästchen befinden.

  3. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        Dim zeile As Long
        If Not Intersect(Target, Range("G2:G65")) Is Nothing Then
            zeile = Sheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1
            Range("A" & Target.Row).Resize(, 6).Copy Sheets(2).Cells(zeile, 1)
            Rows(Target.Row).Delete Shift:=xlUp
            Cancel = True
        End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu deiner Excel-Tabelle.

  5. Doppelklicke auf ein Kontrollkästchen in Spalte G, um die gesamte Zeile zu verschieben.


Häufige Fehler und Lösungen

  • Fehler: Der Code funktioniert nicht.
    Lösung: Stelle sicher, dass der Code im richtigen Arbeitsblatt-Modul eingefügt wurde.

  • Fehler: Die Zeilen werden nicht gelöscht.
    Lösung: Überprüfe, ob die Zellen in Spalte G tatsächlich ein Kontrollkästchen haben.

  • Fehler: Die Zeilen werden nicht korrekt verschoben.
    Lösung: Stelle sicher, dass das Zielarbeitsblatt (Tabelle2) existiert und nicht umbenannt wurde.


Alternative Methoden

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

  1. Filter verwenden: Filtere die Tabelle nach dem Status des Kontrollkästchens und kopiere die gefilterten Zeilen manuell in das andere Tabellenblatt.
  2. Formeln nutzen: Verwende Formeln, um die Daten dynamisch in ein anderes Blatt zu kopieren, anstatt die Zeilen zu verschieben.

Praktische Beispiele

Ein Beispiel für die Anwendung des obigen Codes ist eine To-Do-Liste, in der du Aufgaben aus einer Liste entfernen möchtest, wenn sie erledigt sind. Wenn du ein Kontrollkästchen in Spalte G für eine bestimmte Aufgabe aktivierst, wird die gesamte Zeile, die die Aufgabe beschreibt, in ein anderes Tabellenblatt verschoben.


Tipps für Profis

  • Code optimieren: Du kannst den Code anpassen, um zusätzliche Bedingungen hinzuzufügen, z.B. nur bestimmte Zeilen zu verschieben.
  • Benutzerfreundlichkeit: Füge eine Bestätigungsnachricht hinzu, bevor die Zeile gelöscht wird, um versehentliche Löschungen zu vermeiden.
  • Sicherheit: Stelle sicher, dass du regelmäßig Backups deiner Excel-Datei machst, bevor du mit VBA arbeitest.

FAQ: Häufige Fragen

1. Frage
Wie kann ich mehrere Zeilen gleichzeitig verschieben?
Antwort: Du kannst den Code so anpassen, dass er alle markierten Zeilen in Spalte G verarbeitet, anstatt nur die Zeile, auf die du doppelklickst.

2. Frage
Funktioniert dieser Code in Excel 365?
Antwort: Ja, der Code sollte in Excel 365 und anderen modernen Versionen problemlos funktionieren.

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