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

Forumthread: Kopiere Zeile wenn Kontrollkästchen aktiviert ist

Kopiere Zeile wenn Kontrollkästchen aktiviert ist
23.01.2018 10:34:16
Kurt
Guten Tag,
ich bin erst vor kurzem in VBA eingestiegen und komme bei dieser Fragestellung nicht weiter und hoffe auf eure Unterstützung.
In bin dabei einen Fragenkatalog zu erstellen mit mehreren Fragen in einem Kapitel die zu verschiedenen Normen gehören. Also mehrere Spalten B-F. In Spalte A habe ich Kontrollkästchen (Formularsteuerelemente) über 100 Zeilen.
Als Benutzer des Fragenkatalogs filtere ich nun nach einer Norm mit einem bestimmten Kapitel und den zugehörigen Fragen. Davon wähle ich einige aus via Kontrollkästchen.
Ich möchte nun über eine Schaltfläche die Inhalte der Zeilen mit aktivierten Kontrollkästchen in eine zweites Tabellenblatt kopieren.
Wie mache ich das am Besten?
Danke vorab!
Kurt
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Kopiere Zeile wenn Kontrollkästchen aktiviert
23.01.2018 11:07:02
Daniel
Hi
am besten ist, du schmeißt die Kontrollkästchen wieder raus und markierst die Zeilen die kopiert werden sollen einfach mit einem "x" in der Spalte A (du kannst über die DATEN - DATENGÜLTIGKEIT festlegen, dass der Anwender nur "x" oder Nichts in die Spalte A eingeben darf).
sieht zwar nicht ganz so gut aus, ist aber einfacher zu händeln.
wenn du die Zeilen so markiert hast, brauchst du dann einfach nur diese Befehlszeile:
Columns(1).SpecialCells(xlcelltypeconstants, 2).entireRow.Copy Destination:=Sheets("Tabelle2").Range("A1")
das .SpecialCells selektiert die Zellen mit einem Text ("x"), von diesen wird dann die ganze Zeile kopiert (.EntireRow)
Gruß Daniel
Anzeige
AW: Kopiere Zeile wenn Kontrollkästchen aktiviert ist
23.01.2018 11:22:45
Kurt
Super, vielen Dank!
AW: Kopiere Zeile wenn Kontrollkästchen aktiviert ist
23.01.2018 12:55:12
Kurt
Sorry, noch eine Frage.
Wie kann ich eine Überlagerung der Kontrollkästchen bei Anwenden von Filtern der anderen Spalten verhindern?
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

Zeilen kopieren, wenn Kontrollkästchen aktiviert sind


Schritt-für-Schritt-Anleitung

  1. Kontrollkästchen einfügen:

    • Gehe zu der Registerkarte „Entwicklertools“ in Excel.
    • Wähle „Einfügen“ und dann das Kontrollkästchen (Formularsteuerelement).
    • Füge das Kontrollkästchen in die Zellen der Spalte A ein. Du kannst mehrere Kontrollkästchen in verschiedene Zellen einfügen.
  2. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Füge ein neues Modul ein (Einfügen > Modul).
  3. VBA-Code einfügen:

    • Kopiere folgenden Code in das Modul:
    Sub KopiereAktivierteZeilen()
       Dim wsSource As Worksheet
       Dim wsDest As Worksheet
       Dim cell As Range
       Dim destRow As Integer
    
       Set wsSource = ThisWorkbook.Sheets("Tabelle1") ' Quellblatt
       Set wsDest = ThisWorkbook.Sheets("Tabelle2")   ' Zielblatt
       destRow = 1
    
       For Each cell In wsSource.Range("A1:A100") ' Bereich der Kontrollkästchen
           If cell.Value = True Then
               cell.EntireRow.Copy Destination:=wsDest.Cells(destRow, 1)
               destRow = destRow + 1
           End If
       Next cell
    End Sub
  4. Schaltfläche hinzufügen:

    • Gehe zurück zu Excel und füge eine Schaltfläche aus der Entwicklertools-Sektion hinzu.
    • Weise der Schaltfläche das Makro KopiereAktivierteZeilen zu.
  5. Makro ausführen:

    • Klicke auf die Schaltfläche, um die Zeilen mit aktivierten Kontrollkästchen zu kopieren.

Häufige Fehler und Lösungen

  • Fehler: Kontrollkästchen kopieren nicht erkannt
    Lösung: Stelle sicher, dass die Kontrollkästchen korrekt in den Zellen sitzen und die Verknüpfung zu den Zellen aktiviert ist. Rechtsklicke auf das Kontrollkästchen und wähle „Steuerelement formatieren“, um die Zellenverknüpfung zu überprüfen.

  • Fehler: Makro funktioniert nicht
    Lösung: Überprüfe, ob die Makros in deiner Excel-Umgebung aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und stelle sicher, dass die Ausführung von Makros erlaubt ist.


Alternative Methoden

Eine einfache Alternative besteht darin, anstelle von Kontrollkästchen „x“ in einer Spalte zu verwenden, wie von Daniel im Forum vorgeschlagen. Du kannst die Datengültigkeit nutzen, um sicherzustellen, dass nur „x“ oder leer eingegeben werden kann. Der folgende Befehl kopiert dann die Zeilen:

Columns(1).SpecialCells(xlCellTypeConstants, 2).EntireRow.Copy Destination:=Sheets("Tabelle2").Range("A1")

Praktische Beispiele

  • Beispiel 1: Kopiere die Zeilen, wenn das Kontrollkästchen aktiv ist, um eine Übersicht der ausgewählten Fragen aus einem Fragenkatalog zu erstellen.

  • Beispiel 2: Wenn du in einer Umfrage Antworten kopieren möchtest, kannst du die gleiche Methode nutzen, um nur die Antworten mit einem aktiven Kontrollkästchen in eine neue Tabelle zu übertragen.


Tipps für Profis

  • Nutze benannte Bereiche für deine Daten, um die Lesbarkeit des VBA-Codes zu verbessern.
  • Experimentiere mit Datenfiltern in Excel, um die Sichtbarkeit der Kontrollkästchen zu erhöhen, insbesondere wenn du viele Zeilen hast.
  • Wenn du oft mit Kontrollkästchen arbeitest, erwäge, eine Schaltfläche für das Einblenden von Text zu integrieren, wenn ein Kontrollkästchen aktiviert ist.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Kontrollkästchen in einer Zelle einfügen?
Die Excel-Standardfunktionalität erlaubt es nicht, mehrere Kontrollkästchen in einer einzelnen Zelle zu platzieren. Stattdessen solltest du sie in benachbarte Zellen einfügen.

2. Was passiert, wenn ich die Filtern-Funktion in Excel benutze?
Wenn du Filter anwendest, kann es sein, dass die Sichtbarkeit der Kontrollkästchen beeinträchtigt wird. Du kannst die Überlagerung von Kontrollkästchen verhindern, indem du sicherstellst, dass die Zellen, in denen sie sich befinden, nicht ausgeblendet werden.

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