Aktivieren / Deaktivieren von Checkboxen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Aktivieren / Deaktivieren von Checkboxen
von: Andreas Emmert
Geschrieben am: 29.09.2003 20:28:49

Hallo,

folgender Sachverhalt. Ich habe 60 Checkboxen auf meinen Spreadsheet, die sofern der Haken gesetzt ist dieser mittels VBA werden soll. Wie kann ich das lösen?

Bisher sehe ich nur die Möglichkeit, dies mit einem separaten Aufruf für jede Checkbox zu machen:

CheckBox1.Value = False
CheckBox2.Value = False
CheckBox3.Value = False
CheckBox4.Value = False
......

Geht das irgendwie einfacher?

Danke schonmal für die Hilfe!

Andreas

Bild


Betrifft: AW: Aktivieren / Deaktivieren von Checkboxen
von: Hajo_Zi
Geschrieben am: 29.09.2003 20:31:06

Hallo Andreas

mach ein Schleife

Option Explicit
' erstellt von Hajo Ziplies 21.12.2002
' http://home.media-n.de/ziplies/


Private Sub CommandButton1_Click()
    Dim CoCb As Control
    Dim InI As Integer
    For Each CoCb In Me.Controls
        If Left(CoCb.Name, 8) = "CheckBox" Then
            If CoCb.Value = True Then MsgBox "Aktion für Checkbox" & _
                Mid(CoCb.Name, 9, Len(CoCb.Name) - 8)
        End If
    Next
End Sub




Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


http://home.media-n.de/ziplies/



Bild


Betrifft: AW: Aktivieren / Deaktivieren von Checkboxen
von: Andreas
Geschrieben am: 29.09.2003 20:41:00

Danke erst mal Hajo!

So ganz verstanden habe ich die For/Each Schleife leider noch nicht, wie kann das anpassen für ein Sheet mit dem Namen "Indikationsliste" anpassen? Me.Controls müsste ich dann wohl ersetzen, denn damit geht es nicht. ActiveSheet.Controls geht auch nicht, irgendwie stehe ich gerade auf der Leitung ... sorry, wenn die Frage ein wenig dümmlich sein sollte ....

Andreas

Dim CoCb As Control

For Each CoCb In Me.Controls
If Left(CoCb.Name, 8) = "CheckBox" Then
If CoCb.Value = True Then
CoCb.Value = False
End If
End If
Next


Bild


Betrifft: AW: Aktivieren / Deaktivieren von Checkboxen
von: Hajo_Zi
Geschrieben am: 29.09.2003 20:53:37

Hallo Andreas

das mit in der Tabelle habe ich überlesen. Ich bin nicht der Fachman für Steueelemente in der Tabelle. Vielleicht hilft folgender Ansatz.


Private Sub CommandButton1_Click()
    Dim I As Integer
    For I = 1 To Shapes.Count
        If Mid(Shapes(I).Name, 1, 5) = "Check" Then
'           Ausblenden
'            Shapes(I).Visible = Shapes(I).Visible = False
'           wechseln
'            Shapes(I).Visible = Shapes(I).Visible = Shapes(I).Visible = Shapes(I).Visible = False
'           Wert auf True setzen
            ActiveSheet.OLEObjects("CheckBox" & I).Object.Value = 0
'           Inhalt wechseln
'            ActiveSheet.OLEObjects("CheckBox" & I).Object.Value = ActiveSheet.OLEObjects("CheckBox" & I).Object.Value = 0
'           nur eine Gruppe
'            If ActiveSheet.OLEObjects("CheckBox" & I).Object.GroupName = "Sorte1" Then
'                Shapes(I).Visible = Shapes(I).Visible = False
        End If
    Next I
End Sub


Bei dem Code bin ich davon ausgegangen das die Steuerelemente aus Steuerelemente Toolbox sind



Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/



Bild


Betrifft: AW: Aktivieren / Deaktivieren von Checkboxen
von: Andreas
Geschrieben am: 29.09.2003 20:59:06

Hallo Hajo,

die Checkboxen sind tatsächlich aus der Steuerelement-Toolbox. Die Checkobxen wurden einfach innerhalb des Tabellenblatts aufgezogen, sind also nicht in einem UserForm, sondern direkt im Tabellenblatt. Deshalb kann ich auch kein UserForm referenzieren, wie es wohl bei deinem ersten Beispiel gedacht war. OLEObjects wird mir wohl auch nicht weiterhelfen, habe es gerade mal kurz angetestet.
Deinen ersten Ansatz fand ich gut, nur ist mir nicht klar, wie ich die Checkboxen innerhalb eines Tabellenblatts referenzieren kann. ActiveWorksheets.Controls geht ja nicht, irgendeine andere Idee wie ich das angehen kann?

Andreas


Bild


Betrifft: AW: Aktivieren / Deaktivieren von Checkboxen
von: K.Rola
Geschrieben am: 29.09.2003 21:27:50

Hallo,

Option Explicit

Sub cb_false()
Dim i As Byte
  For i = 1 To 3
    Sheets(1).OLEObjects("CheckBox" & i).Object.Value = False
  Next
End Sub


Gruß K.Rola


Bild


Betrifft: AW: Aktivieren / Deaktivieren von Checkboxen
von: Andreas
Geschrieben am: 29.09.2003 21:29:29

Habe eine Lösung gefunden, nachdem ich noch ein wenig gegoogelt habe :)

Dim c As Shape

For Each c In ActiveSheet.Shapes
If Left(c.Name, 8) = "CheckBox" Then
ActiveSheet.OLEObjects(c.Name).Object.Value = 0
End If
Next c


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Aktivieren / Deaktivieren von Checkboxen"