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

Forumthread: Checkbox mit VBA löschen

Checkbox mit VBA löschen
16.06.2005 20:48:51
Markus
Hallo alle zusammen!
Ich habe eine Problem und hoffe jemand kann mir eventuell helfen!
Ich generiere mittels VBA Checkboxen und vergebe ihnen dabei auch Namen. Nun muss ich jedoch in bestimmten Fällen Boxen auch wieder löschen. Vor dem Löschen muss ich aber prüfen ob die Box die ich löschen möchte überhaupt vorhanden ist. Wie kann ich mittels VBA prüfen, ob eine Checkbox mit Name XYZ (Beispielname) auf dem Tabellenblatt vorhanden ist?
Danke schon mal im vorraus
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkbox mit VBA löschen
16.06.2005 21:10:00
ransi
hallo markus
versuch mal:
Option Explicit
Public

Sub test()
Dim chbo As Shape
For Each chbo In Shapes
If chbo.Name = "xyz" Then chbo.Delete
Next
End Sub

ransi
AW: Checkbox mit VBA löschen
16.06.2005 21:28:06
Markus
Hallo ransi!
Danke für Deine schnelle Antwort.
Bekomme leider Laufzeitfehler mit deiner Lösung. Oder mache ich etwas falsch?
Was bedeutet in Deiner Antwort Option Explicit und Public. Sollte ich das irgendwie mitverwenden?
Markus
Anzeige
AW: Checkbox mit VBA löschen
16.06.2005 21:35:01
ransi
hallo markus
der code gehört nicht in ein normales modul.
er muss in das modul des entsprechenden tabellenblatts eingefügt werden.
rechte maus auf den tabellenreiter
code anzeigen
da dann rein kopieren.
option explicit ist nicht unbedingt nötig solltest du dir aber angewöhnen.
ransi
Anzeige
AW: Checkbox mit VBA löschen
16.06.2005 21:58:16
Markus
Hallo ransi!
Wenn ich den Namen der Box direct einpflege (z.B. "Box10") funktioniert es einwandfrei. Jedoch muss ich den Namen in Form von "Box" & 2 * i aufrufen, da die Zahl über eine Variable deklariert ist. Müßte ungefähr so aussehen, geht aber leider nicht.

Sub test()
Dim chbo As Shape
For Each chbo In Shapes
If chbo.name = "Box" & 2 * i Then chbo.Delete
Next
End Sub

Gibt es da eine Möglichkeit?
Markus
Anzeige
AW: Checkbox mit VBA löschen
16.06.2005 22:46:26
Ramses
Hallo
welchen Wert soll "i" denn haben ?
In deinem Code hat "i" keinen Wert, und 2*nix gibt halt nun mal nicht mehr als Nix
Gruss Rainer
AW: Checkbox mit VBA löschen
16.06.2005 23:11:14
Markus
Hallo Rainer!
Hab meinen Fehler bemerkt. Funktioniert jetzt einwandfrei.
Danke
Gruß Markus
;

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

Checkboxen in Excel mit VBA löschen


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Klicke mit der rechten Maustaste auf den Tab des Arbeitsblatts, auf dem sich die Checkboxen befinden. Wähle "Code anzeigen", um den VBA-Editor zu öffnen.

  2. Code einfügen: Füge den folgenden Code in das Modul des Arbeitsblatts ein:

    Sub test()
       Dim chbo As Shape
       For Each chbo In Shapes
           If chbo.Name = "xyz" Then chbo.Delete
       Next
    End Sub

    Ersetze "xyz" durch den Namen der Checkbox, die du löschen möchtest.

  3. Prüfen, ob die Checkbox vorhanden ist: Um sicherzustellen, dass die Checkbox existiert, kannst du den Code entsprechend anpassen, indem du den Namen dynamisch erstellst:

    Sub test()
       Dim chbo As Shape
       Dim i As Integer
       i = 1 ' Beispielwert für i
       For Each chbo In Shapes
           If chbo.Name = "Box" & 2 * i Then chbo.Delete
       Next
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die Checkbox zu löschen.


Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler beim Ausführen des Codes
    Lösung: Stelle sicher, dass der Code im richtigen Modul eingefügt ist (das Modul des entsprechenden Arbeitsblatts).

  • Fehler: Checkbox lässt sich nicht entfernen
    Lösung: Überprüfe den Namen der Checkbox. Der Name muss exakt übereinstimmen.

  • Fehler: Variablen nicht deklariert
    Lösung: Stelle sicher, dass du die Variablen richtig deklariert hast. Es ist ratsam, Option Explicit am Anfang deines Codes zu verwenden.


Alternative Methoden

  1. Manuelles Löschen: Du kannst auch einfach mit der rechten Maustaste auf die Checkbox klicken und "Löschen" auswählen.

  2. Excel Checkboxen entfernen über das Menü: Gehe zu "Entwicklertools" > "Einfügen" und wähle die Kontrollkästchen aus, um sie zu entfernen.

  3. Excel alle Checkboxen löschen: Um alle Checkboxen in einem Arbeitsblatt zu löschen, kannst du folgenden Code verwenden:

    Sub AlleCheckboxenLoeschen()
       Dim chbo As Shape
       For Each chbo In ActiveSheet.Shapes
           If TypeName(chbo.OLEFormat.Object) = "CheckBox" Then
               chbo.Delete
           End If
       Next
    End Sub

Praktische Beispiele

  • Beispiel 1: Eine bestimmte Checkbox löschen
    Wenn du die Checkbox mit dem Namen "Checkbox1" löschen möchtest, verwende:

    Sub CheckboxLoeschen()
      Dim chbo As Shape
      For Each chbo In ActiveSheet.Shapes
          If chbo.Name = "Checkbox1" Then chbo.Delete
      Next
    End Sub
  • Beispiel 2: Mehrere Kontrollkästchen löschen
    Wenn du mehrere Kontrollkästchen mit einem bestimmten Namensschema löschen möchtest:

    Sub MehrereCheckboxenLoeschen()
      Dim chbo As Shape
      Dim i As Integer
      For i = 1 To 10 ' Beispiel für 10 Checkboxen
          For Each chbo In ActiveSheet.Shapes
              If chbo.Name = "Box" & i Then chbo.Delete
          Next
      Next i
    End Sub

Tipps für Profis

  • Verwende Option Explicit: Damit zwingst du dich, alle Variablen zu deklarieren, was die Fehlersuche erleichtert.

  • Dynamische Namen: Überlege, wie du die Namen der Checkboxen dynamisch generieren kannst, um sie effizienter zu verwalten.

  • Fehlerbehandlung einbauen: Füge Fehlerbehandlungsroutinen hinzu, um unerwartete Probleme abzufangen und zu beheben.


FAQ: Häufige Fragen

1. Wie kann ich alle Checkboxen in einem Arbeitsblatt auf einmal löschen?
Du kannst den Code AlleCheckboxenLoeschen verwenden, um alle Checkboxen auf dem aktuellen Arbeitsblatt zu entfernen.

2. Was tun, wenn sich eine Excel-Checkbox nicht entfernen lässt?
Überprüfe den Namen der Checkbox. Sie könnte gesperrt sein oder sich in einer geschützten Arbeitsmappe befinden. Stelle sicher, dass du die nötigen Berechtigungen hast.

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