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

Forumthread: VBA-Code "alle Checkboxen deaktivieren"

VBA-Code "alle Checkboxen deaktivieren"
19.08.2014 14:45:09
Wolfango
Hallo Experten,
nachstehendes Makro macht leider nicht ganz was es soll.
Beim Setzen des Häkchens in "Checkbox 15" sollen einige Zellen entsperrt werden.
Das funktioniert auch.
Gleichzeitig sollen alle sämtliche anderen Checkboxen inaktiv werden (so dass dort keine Häkchen mehr gesetzt werden können).
Und das funktioniert leider nicht :-(
(...habe mir den Code aus Recorder und Minimalwissen zusammengestrickt....und ich hatte es auch mal so, dass alle anderen Checkboxen inaktiv waren....bekomme es aber nun nicht mehr hin...)
Ich gehe davon aus, dass die letzten drei Zeilen meinen Wunsch erfüllen sollten....tun sie aber leider nicht...
Danke und Gruß,
Wo
Hier der Code:
Private Sub CheckBox15_Click()
ActiveSheet.Unprotect "xxx"
ActiveWindow.SmallScroll Down:=12
Range("E27:F50").Select
Selection.Locked = False
Selection.FormulaHidden = False
ActiveWindow.SmallScroll Down:=-3
Range("D23:F24").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True
ActiveSheet.Protect "xxx"
Dim oCbx As OLEObject
For Each oCbx In Sheets(1).OLEObjects
oCbx.Enabled = TypeName(oCbx) = "Checkbox"
Next
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code "alle Checkboxen deaktivieren"
19.08.2014 15:12:17
Rudi
Hallo,
oCbx.Enabled = oCbx.ProgID "Forms.CheckBox.1"
Gruß
Rudi

AW: VBA-Code "alle Checkboxen deaktivieren"
19.08.2014 16:38:45
Wolfango
Vielen Dank, das passt!
Anzeige
;

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

Alle Checkboxen in Excel mit VBA deaktivieren


Schritt-für-Schritt-Anleitung

Um alle Checkboxen in Excel zu deaktivieren, wenn eine bestimmte Checkbox aktiviert wird, kannst du den folgenden VBA-Code verwenden. Dieser Code stellt sicher, dass beim Aktivieren von "Checkbox 15" alle anderen Checkboxen inaktiv sind und einige Zellen entsperrt werden.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (dein Arbeitsblattname)" klickst und "Einfügen" > "Modul" wählst.
  3. Kopiere den folgenden Code in das Modul:
Private Sub CheckBox15_Click()
    ActiveSheet.Unprotect "xxx"  ' Passwort anpassen
    Range("E27:F50").Locked = False
    ActiveSheet.Protect "xxx"

    Dim oCbx As OLEObject
    For Each oCbx In ActiveSheet.OLEObjects
        If TypeName(oCbx.Object) = "CheckBox" Then
            oCbx.Enabled = Not oCbx.Object.Value
        End If
    Next oCbx
End Sub
  1. Ersetze "xxx" durch dein tatsächliches Passwort.
  2. Schließe den VBA-Editor und teste das Makro, indem du auf "Checkbox 15" klickst.

Häufige Fehler und Lösungen

  • Fehler: Checkboxen werden nicht deaktiviert

    • Stelle sicher, dass du den Code genau wie angegeben kopiert hast und dass die Checkboxen im richtigen Blatt sind.
  • Fehler: Zellen bleiben gesperrt

    • Überprüfe, ob du das Arbeitsblatt vor dem Entsperren und nach dem Ändern der Zellen wieder schützt.

Alternative Methoden

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

  1. Verwende die Datengültigkeit, um nur bestimmte Checkboxen aktiv zu lassen.
  2. Füge eine Schaltfläche hinzu und verbinde sie mit einer Makrofunktion, die die Checkboxen entsprechend aktiviert oder deaktiviert.

Praktische Beispiele

Nehmen wir an, du hast mehrere Checkboxen in deinem Arbeitsblatt, und du möchtest, dass beim Aktivieren von "Checkbox 15" die Checkboxen "Checkbox 1" bis "Checkbox 14" deaktiviert werden. Der obige Code erfüllt genau diese Funktion.


Tipps für Profis

  • Verwende das With-Statement, um den Code effizienter zu gestalten. Beispiel:
With ActiveSheet
    .Unprotect "xxx"
    Range("E27:F50").Locked = False
    .Protect "xxx"
End With
  • Halte deine VBA-Projekte organisiert, indem du aussagekräftige Namen für deine Checkboxen vergibst.

FAQ: Häufige Fragen

1. Wie aktiviere ich das Makro in Excel?
Um Makros zu aktivieren, gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und wähle die entsprechende Option aus.

2. Kann ich den Code auch in Excel Online verwenden?
Nein, VBA-Code funktioniert nur in der Desktop-Version von Excel, nicht in Excel Online.

3. Was kann ich tun, wenn ich mein Passwort vergessen habe?
Leider gibt es keine einfache Möglichkeit, das Passwort zu umgehen. Du müsstest möglicherweise das Arbeitsblatt erneut erstellen.

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