Herbers Excel-Forum - das Archiv

Kontrollkästchen deaktvieren mit Makro

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

Betrifft: Kontrollkästchen deaktvieren mit Makro
von: Alex

Geschrieben am: 11.03.2005 09:44:10
Hi Excelgurus,
habe zwei Tabellenblätter mit mit acht kontrollkästchen. Jetzt möchte ich gerne per makro erreichen das er mir per knopfdruck die kästchen deaktiviert.
Habe folgenden Makro aufgezechnet
Sub Makro8()
ActiveSheet.Shapes("Check Box 30").Select
ActiveSheet.Shapes.Range(Array("Check Box 30", "Check Box 31")).Select
ActiveSheet.Shapes.Range(Array("Check Box 30", "Check Box 31", "Check Box 25")) _
.Select
ActiveSheet.Shapes.Range(Array("Check Box 30", "Check Box 31", "Check Box 25", _
"Check Box 24")).Select
ActiveSheet.Shapes.Range(Array("Check Box 30", "Check Box 31", "Check Box 25", _
"Check Box 24" _
, "Check Box 26")).Select
ActiveSheet.Shapes.Range(Array("Check Box 30", "Check Box 31", "Check Box 25", _
"Check Box 24" _
, "Check Box 26", "Check Box 27")).Select
ActiveSheet.Shapes.Range(Array("Check Box 30", "Check Box 31", "Check Box 25", _
"Check Box 24" _
, "Check Box 26", "Check Box 27", "Check Box 29")).Select
ActiveSheet.Shapes.Range(Array("Check Box 30", "Check Box 31", "Check Box 25", _
"Check Box 24" _
, "Check Box 26", "Check Box 27", "Check Box 29", "Check Box 28")).Select
With Selection
.Value = xlOff
.LinkedCell = ""
.Display3DShading = True
End With
Sheets("Blatt2").Select
ActiveSheet.Shapes("Check Box 14").Select
ActiveSheet.Shapes.Range(Array("Check Box 14", "Check Box 15")).Select
ActiveSheet.Shapes.Range(Array("Check Box 14", "Check Box 15", "Check Box 9")). _
Select
ActiveSheet.Shapes.Range(Array("Check Box 14", "Check Box 15", "Check Box 9", _
"Check Box 8")).Select
ActiveSheet.Shapes.Range(Array("Check Box 14", "Check Box 15", "Check Box 9", _
"Check Box 8" _
, "Check Box 10")).Select
ActiveSheet.Shapes.Range(Array("Check Box 14", "Check Box 15", "Check Box 9", _
"Check Box 8" _
, "Check Box 10", "Check Box 11")).Select
ActiveSheet.Shapes.Range(Array("Check Box 14", "Check Box 15", "Check Box 9", _
"Check Box 8" _
, "Check Box 10", "Check Box 11", "Check Box 13")).Select
ActiveSheet.Shapes.Range(Array("Check Box 14", "Check Box 15", "Check Box 9", _
"Check Box 8" _
, "Check Box 10", "Check Box 11", "Check Box 13", "Check Box 12")).Select
With Selection
.Value = xlOff
.LinkedCell = ""
.Display3DShading = True
End With
End Sub


leider kommt dann die Fehlermeldung.
Die Value-Eigenschaft des DrawingObjects-Objektes kann nichtfestgelegt werden.

Kann mir einer sagen wo der fehler ist oder ob jemand einen anderen Lsungsweg kennt um die Kästchen zu deaktivieren
Vielen Dank im Vorraus
Alex
Bild

Betrifft: AW: Kontrollkästchen deaktvieren mit Makro
von: bst

Geschrieben am: 11.03.2005 10:39:37
Morgen Alex,
versuch mal sowas.
HTH, Bernd
--
Option Explicit
Sub UnCheck()
Dim ws As Worksheet
Dim oo As OLEObject
For Each ws In Worksheets(Array("Blatt1", "Blatt2"))
For Each oo In ws.OLEObjects
If TypeName(oo.Object) = "CheckBox" Then
oo.Object.Value = False
End If
Next oo
Next ws
End Sub

Bild

Betrifft: AW: Kontrollkästchen deaktvieren mit Makro
von: Matthias G

Geschrieben am: 11.03.2005 10:44:38
Hallo Alex,
da es Kontrollkästchen aus der Formular-Symbolleiste zu sein scheinen, mein Vorschlag hier:
Sub Deaktivieren()
Dim i As Integer
With Sheets("Blatt1")
For i = 24 To 31
.Shapes("Check Box " & i).ControlFormat = False
Next i
End With
With Sheets("Blatt2")
For i = 8 To 15
.Shapes("Check Box " & i).ControlFormat = False
Next i
End With
End Sub
Gegebenfalls den ersten Blattnamen noch anpassen.
Gruß Matthias
Bild

Betrifft: AW: Kontrollkästchen deaktvieren mit Makro
von: UweD

Geschrieben am: 11.03.2005 11:03:22
Hallo
so gehts:
Sub alle_aus() 'für CB aus Formular Sybolleiste
Dim TB, CB As CheckBox
For Each TB In Array(Sheets(1), Sheets(2))
For Each CB In TB.CheckBoxes
CB = False
Next
Next
End Sub

https://www.herber.de/bbs/user/19505.xls
Gruß UweD
Bild

Betrifft: AW: Kontrollkästchen deaktvieren mit Makro
von: bst
Geschrieben am: 11.03.2005 11:12:09
Hallo Uwe,
stimmt so geht's. Aber laut der VBA-Hilfe zu CheckBoxes in xl2000 (!) sind diese Teile
ausgeblendet (veraltet?) und sollten durch die neueren ActiveX-Steuerelemente ersetzt werden.
cu, Bernd
Bild

Betrifft: AW: Kontrollkästchen deaktvieren mit Makro
von: bst
Geschrieben am: 11.03.2005 11:20:45
@Uwe,
Sorry, ist sich wohl nicht so mein Tag :-(
Man sollte halt schon zwischen Formular und Steuerelement-Toolbox unterscheiden ...
Bernd
Bild

Betrifft: Vielen Dank für Eure hilfe klappt super. o.T
von: Alex
Geschrieben am: 11.03.2005 12:03:03
Vielen Dank für Eure hilfe klappt super. o.T
Gruß Alex
 Bild