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

Forumthread: Zeile mit Checkbox und Formatierung kopieren

Zeile mit Checkbox und Formatierung kopieren
08.06.2017 13:57:00
Marco
Hallo an alle VBA Spezialisten...
Ich habe folgendes Problem was ich auch nach langer Suche im Web und auch hier im Forum nicht lösen kann...
Leider sind meine VBA Kenntnisse nicht sehr gut und würde mich freuen wenn ich ein wenig Hilfe von euch bekommen könnte.
Ich möchte gerne aus einer Tabelle (Mieter) mittels eines "CommandButtons" eine Zeile kopieren in der ich Checkboxen (Spalte A, W und Y) eingebaut habe. Die kopierte Zeile soll anschließend in die darunterliegende Zeile (Offset +1) eingefügt werden. Bei den Checkboxen handelt es sich um ActiveX-Steuerelemente. Beim Kopieren der Zeile sollen die Formatierungen und auch die Berechnungen in den Zellen mit kopiert werden jedoch der Inhalt gelöscht werden.
Ein weiterer "CommandButton" soll die angewählte Zeile inklusive der Checkboxen wieder löschen.
Ich hoffe ich habe mein Anliegen einigermßen erklären können
Würde mich über Hilfe sehr freuen...
Vielen Dank
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeile mit Checkbox und Formatierung kopieren
09.06.2017 16:04:24
mmat
Hallo,
es fällt mir schwer, mir vorzustellen, dass es zwischen eine Tabellenzeile und einem Aktiv-X Element, dass sich zufällig in dieser Zeile befindet, irgendeine einfache Beziehung gibt, die sich für die Kopieraktion nutzen lässt.
Müssen es unbedingt Checkboxen sein? Wenn du stattdessen normale Datenzellen nimmst, die aufgrund einer Datenprüfung nur mit ja und nein (oder true und False) bestückt werden dürfen, wäre das ganze kopieren und löschen viel einfacher.
vg, MM
Anzeige
AW: Zeile mit Checkbox und Formatierung kopieren
09.06.2017 17:55:09
Hajo_Zi
ich baue nichts nach. mir ist es auch zu aufwendig.
wenn man drauf klick
MsgBox ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row & " Zeile" & Chr(13) _
& ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column & " Spalte"

Anzeige
AW: Zeile mit Checkbox und Formatierung kopieren
09.06.2017 18:28:29
Marco
Danke schon mal für eure Bemühungen...
Da auch per Google nichts zu finden ist was das kopieren und einfügen der Checkboxen anbelangt könnte ich auch sehr gut mit Datenprüfung auf wahr oder falsch leben. Das müsste sich doch ggf. mit einer Auswahlliste leichter darstellen lassen oder?
vg Marco
Anzeige
AW: Zeile mit Checkbox und Formatierung kopieren
12.06.2017 07:48:13
Marco
Danke schon mal für eure Bemühungen...
Da auch per Google nichts zu finden ist was das kopieren und einfügen der Checkboxen anbelangt könnte ich auch sehr gut mit Datenprüfung auf wahr oder falsch leben. Das müsste sich doch ggf. mit einer Auswahlliste leichter darstellen lassen oder?
vg Marco
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeile mit Checkbox und Formatierung in Excel kopieren


Schritt-für-Schritt-Anleitung

  1. Checkboxen erstellen: Füge in deiner Excel-Tabelle ActiveX-Checkboxen hinzu. Gehe dazu auf die Registerkarte „Entwicklertools“ und wähle „Einfügen“ > „Kontrollkästchen (ActiveX)“. Platziere die Checkboxen in den gewünschten Zellen.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Neues Modul hinzufügen: Klicke mit der rechten Maustaste auf „VBAProject (dein Arbeitsblatt)“, wähle „Einfügen“ und dann „Modul“.

  4. Code zum Kopieren der Zeile einfügen: Füge den folgenden VBA-Code in das Modul ein, um eine Zeile mit Checkboxen zu kopieren:

    Sub ZeileKopieren()
       Dim sourceRow As Long
       Dim targetRow As Long
    
       sourceRow = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
       targetRow = sourceRow + 1
    
       ' Zeile kopieren
       Rows(sourceRow).Copy Destination:=Rows(targetRow)
    
       ' Checkboxen zurücksetzen
       Dim ctrl As Object
       For Each ctrl In ActiveSheet.OLEObjects
           If TypeName(ctrl.Object) = "CheckBox" Then
               ctrl.Object.Value = False
           End If
       Next ctrl
    End Sub
  5. Code zum Löschen der Zeile hinzufügen: Füge folgenden Code hinzu, um eine Zeile zu löschen:

    Sub ZeileLoeschen()
       Dim selectedRow As Long
       selectedRow = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
       Rows(selectedRow).Delete
    End Sub
  6. CommandButtons hinzufügen: Füge auf deinem Arbeitsblatt zwei CommandButtons hinzu, einen für das Kopieren und einen für das Löschen der Zeilen. Verknüpfe die Buttons mit den entsprechenden VBA-Subroutinen.


Häufige Fehler und Lösungen

  • Checkboxen nicht kopiert: Stelle sicher, dass du ActiveX-Checkboxen verwendest und dass der Code korrekt auf die Objekte verweist. Überprüfe die Verknüpfungen zu den Zellen.

  • Formatierungen gehen verloren: Der oben stehende Code kopiert die gesamte Zeile. Achte darauf, dass die Formatierungen in den Zellen vorhanden sind, bevor du die Zeile kopierst.

  • Fehlermeldungen beim Ausführen des Codes: Überprüfe, ob der Code im richtigen Modul eingefügt wurde und dass die richtigen Objekte angesprochen werden.


Alternative Methoden

Falls du keine ActiveX-Checkboxen verwenden möchtest, kannst du auch Datenüberprüfung nutzen:

  1. Zelle als Checkbox formatieren: Verwende die Datenüberprüfung, um nur „Ja“ oder „Nein“ in die Zellen einzugeben.
  2. Datenüberprüfung einrichten: Gehe zu „Daten“ > „Datenüberprüfung“ und wähle „Liste“. Gib „Ja, Nein“ ein.
  3. Kopieren und Einfügen: Verwende die gleichen Kopier- und Löschmethoden wie oben, um die Daten zu verarbeiten.

Praktische Beispiele

  • Kopieren einer Zeile mit Checkboxen: Markiere eine Zeile mit Checkboxen, klicke auf den CommandButton zum Kopieren und beobachte, wie die Zeile in die nächste eingefügt wird.

  • Löschen einer Zeile: Wähle eine Zeile, die du löschen möchtest, und klicke auf den entsprechenden CommandButton.


Tipps für Profis

  • Excel Checkbox formatieren: Ändere die Eigenschaften der Checkboxen, um sie benutzerfreundlicher zu gestalten. Klicke mit der rechten Maustaste auf die Checkbox und wähle „Eigenschaften“.

  • Verknüpfung mit Zellen: Du kannst die Checkboxen mit bestimmten Zellen verknüpfen, um deren Status abzurufen. Setze die LinkedCell-Eigenschaft in den Eigenschaften der Checkbox.

  • Dynamisches Kopieren: Du kannst auch komplexere VBA-Logik einbauen, um nur bestimmte Werte oder Formate zu kopieren, abhängig von der Checkbox-Auswahl.


FAQ: Häufige Fragen

1. Wie kann ich Kontrollkästchen kopieren, ohne die Werte zu übernehmen? Verwende die oben genannten VBA-Methoden, um nur die Formate zu kopieren und die Werte in den Zellen zu löschen.

2. Kann ich die Excel Checkboxen auch mit Formeln verknüpfen? Ja, du kannst die Checkboxen mit Zellen verknüpfen, um Formeln zu verwenden, die auf den Status der Checkboxen reagieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige