PDA

Vollständige Version anzeigen : makro alle kontrollkästchen des Tabellenblatts aktivieren


bennyboy
24.03.2009, 08:04
Hallo Leute,

ich habe auf meinem Tabellenblatt "Anwesenheitsplan" sehr viele Kontrollkästchen ca. 200 Stk. Wie muss das Makro aussehen, wo man durch Klick auf einmal alle auf dem Tabellenblatt bestehenden Kontrollkästchen aktivieren kann???

Bitte um Hilfe

Benny

chris-kaiser
24.03.2009, 08:26
hiho


http://www.ms-office-forum.net/forum/showthread.php?t=213362

dort sind auch beide Varianten enthalten mit Formular und Steuerelementen.

bennyboy
24.03.2009, 08:36
ich muss mich verbessern....es sollen nur alle Kontrollkästchen auf Formularbasis aktiviert werden..


dieser code:

Option Explicit

Private Sub CheckBox1_Click()
Dim Box As OLEObject
If CheckBox1 = True Then
For Each Box In ActiveSheet.OLEObjects
Box.Object = True
Next Box
End Sub

aktiviert alle boxen


ich will nur die Kontrollkästchen die aus der Symbolleiste Formular entstanden sind auf aktiv setzen...

wie muss der code dann aussehn?

chris-kaiser
24.03.2009, 08:48
hiho

? ist doch im Link enthalten
oder nicht?

bennyboy
24.03.2009, 08:53
ja chris danke hat auch geklappt..

bei mir ist es aber so, ich habe sowohl kontrollkästchen aus formular als auch welche aus steuerelement....

das heisst dein makro funktioniert am ende kommt aber dann auch die gleiche fehlermeldung wie bei Hiob aus deinem Link....

ich will also das nur die kontrollkästchen aus formular berücksichtigt werden und die aus steuerelement soll er ignorieren...soll keine fehlermeldung kommen

Benny

chris-kaiser
24.03.2009, 09:02
hiho

gemischt :)
hatte ich noch nie

eine einfache Möglichkeit wäre

Sub Check_auf_false()
Dim chk As Shape
For Each chk In ActiveSheet.Shapes
If Left(chk.OLEFormat.Object.Name, 5) = "Check" Then
on error resume next
chk.OLEFormat.Object.Value = False
on error goto 0
End If
Next
End Sub

obwohl ich immer predige das resume next zu vermeiden,
müsste das auf die schnelle mal gehen.
ist aber nicht getestet

bennyboy
24.03.2009, 09:16
ja chris wunderbar....

noch ne kleine erweiterung :-)

sorry aber ich bekomm den hals wieder nich voll....

soweit so gut...

gleichzeitig soll er jetzt noch die kontrollkästchen aus steuerelement inaktivieren also haken raus machen...

wie muss es dann aussehen?

bennyboy
24.03.2009, 09:29
Kommando zurück ich hab es selber geschafft (Stolzbin)



Sub Kontrollkästchen_Formular_Aktivieren()
Dim chk As Shape
For Each chk In ActiveSheet.Shapes
If Left(chk.OLEFormat.Object.Name, 5) = "Check" Then
On Error Resume Next
chk.OLEFormat.Object.Value = True
On Error GoTo 0
End If
Next

Dim cbo As OLEObject
For Each cbo In ActiveSheet.OLEObjects
If Left(cbo.progID, 11) = "Forms.Check" Then
cbo.Object.Value = False
End If
Next
End Sub


auf diese Art hat es geklappt....

für einen anfänger wie mich schonmal ein kleiner Erfolg

:-)

Danke dir nochmal!!

Hau rein

chris-kaiser
24.03.2009, 09:35
hiho

Gratuliere und freut mich wenn es so passt.

bennyboy
24.03.2009, 09:38
ohne dich wäre ich aber bis 2012 gesessen :-)

bENNY