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

Alle CheckBox Objekte in Tabellenblatt löschen

Forumthread: Alle CheckBox Objekte in Tabellenblatt löschen

Alle CheckBox Objekte in Tabellenblatt löschen
27.01.2003 22:41:17
Michael
Warum bekomme ich mit nachstehendem Code nicht alle CheckBox Elemente gelöscht. Nach der 3. oder 4. läuft das GAnze auf einen Fehler auf, den ich mir nicht erklären kann.


Private Sub CommandButton6_Click()
Set Mappe = Workbooks("Lager.xls")
Set STABI = Mappe.Worksheets("Stabilisatoren")
Dim i As Integer
For i = 1 To STABI.OLEObjects.Count
If Mid((STABI.OLEObjects(i).Name), 1, 8) = "CheckBox" Then
OLEObjects(i).Select
Selection.Delete
End If
Next i
End Sub

Danke für eure Hilfe

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Alle CheckBox Objekte in Tabellenblatt löschen
27.01.2003 23:13:11
L.Vira

Wenn deine Versionsangebe richtig ist, bin ich nicht sicher, dass das so funktioniert:
Option Explicit
Sub Löschen()
Dim Sh As Object
With Sheets("Tabelle1")
For Each Sh In ActiveSheet.Shapes
If InStr(Sh.Name, "Check") > 0 Then Sh.Delete
Next
End With
End Sub


Anzeige
Re: Alle CheckBox Objekte in Tabellenblatt löschen
27.01.2003 23:38:17
haller

hallo michael,
wahrscheinlich gehts nicht, weil du i von 1 hochzählst,
excel aber bei jedem löschen den index reduziert. hab deines
nicht ausprobiert. wahrscheinlich klappts, wenn du die schleife
von .count bis 1 zurücklaufen läßt.
was aber auf jeden fall geht, ist folgendes, obwohl ich
nicht weiß, obs die eleganteste lösung ist:

Sub CommandButton6_Click()
ol As OLEObject
For Each ol In Workbooks("Lager.xls").Worksheets("Stabilisatoren").OLEObjects
If InStr(ol.ProgId, "CheckBox") Then
ol.Delete
End If
Next
End Sub


gruß
olaf


Anzeige
Re: Alle CheckBox Objekte in Tabellenblatt löschen
28.01.2003 09:23:15
Michael

Vielen Dank
Das war der richtige Hinweis. Wenn ich den Zähler rückwärts laufen lasse funktionierts


;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Alle Kontrollkästchen in Excel löschen


Schritt-für-Schritt-Anleitung

Um alle Kontrollkästchen in einem Excel-Arbeitsblatt zu löschen, kannst du den folgenden VBA-Code verwenden:

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

  2. Klicke auf Einfügen und wähle Modul.

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

    Sub AlleKontrollkästchenLöschen()
       Dim ol As OLEObject
       For Each ol In ActiveSheet.OLEObjects
           If InStr(ol.ProgId, "CheckBox") > 0 Then
               ol.Delete
           End If
       Next ol
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle AlleKontrollkästchenLöschen aus und klicke auf Ausführen.

Dieser Code entfernt alle Kontrollkästchen auf dem aktiven Arbeitsblatt. Achte darauf, dass du die richtige Excel-Version verwendest, um Kompatibilitätsprobleme zu vermeiden.


Häufige Fehler und Lösungen

  • Fehler: "excel checkbox löschen geht nicht"

    • Stelle sicher, dass du die richtige Arbeitsmappe und das richtige Arbeitsblatt verwendest. Überprüfe, ob die Kontrollkästchen tatsächlich OLE-Objekte sind.
  • Problem: "excel kontrollkästchen lässt sich nicht löschen"

    • Dies kann daran liegen, dass das Kontrollkästchen geschützt ist. Überprüfe den Blattschutz und deaktiviere ihn gegebenenfalls.
  • Lösung für Schleifenprobleme

    • Wenn du in einer Schleife von 1 bis n zählst, kann es zu Indexfehlern kommen, wenn du Elemente löschst. Zähle die Schleife rückwärts oder verwende die For Each-Schleife, um solche Probleme zu vermeiden.

Alternative Methoden

  1. Manuelles Entfernen:

    • Du kannst Kontrollkästchen auch manuell entfernen. Klicke mit der rechten Maustaste auf das Kontrollkästchen und wähle Löschen.
  2. Shapes löschen:

    • Um alle Shapes, einschließlich Kontrollkästchen, zu entfernen, kannst du folgenden Code verwenden:
    Sub AlleShapesLöschen()
       Dim Sh As Shape
       For Each Sh In ActiveSheet.Shapes
           If InStr(Sh.Name, "Check") > 0 Then
               Sh.Delete
           End If
       Next Sh
    End Sub

Praktische Beispiele

  • Beispiel 1: Alle Kontrollkästchen löschen

    • Verwende den oben genannten Code, um alle Kontrollkästchen in einem bestimmten Arbeitsblatt zu entfernen.
  • Beispiel 2: Excel mehrere Kontrollkästchen löschen

    • Um nur bestimmte Kontrollkästchen zu löschen, kann der Code leicht angepasst werden, indem du Bedingungen hinzufügst, die die Namen oder Eigenschaften der Kontrollkästchen filtern.

Tipps für Profis

  • Vorbereitung:

    • Speichere deine Arbeitsmappe, bevor du Massenlöschungen vornimmst, um versehentliche Datenverluste zu vermeiden.
  • Verwendung von Shortcuts:

    • Nutze ALT + F8, um schnell Makros auszuführen.
  • Testen in einer Kopie:

    • Teste deine VBA-Skripte in einer Kopie der Arbeitsmappe, um sicherzustellen, dass alles wie gewünscht funktioniert, bevor du sie in der Originaldatei anwendest.

FAQ: Häufige Fragen

1. Wie lösche ich Kontrollkästchen in Excel? Um Kontrollkästchen in Excel zu löschen, kannst du entweder den oben genannten VBA-Code verwenden oder sie manuell durch Rechtsklick und Auswahl von "Löschen" entfernen.

2. Warum kann ich die Kontrollkästchen nicht löschen? Das kann passieren, wenn das Arbeitsblatt geschützt ist. Deaktiviere den Blattschutz, um die Kontrollkästchen entfernen zu können.

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