Clever-Excel-Forum

Normale Version: "Controls" auf Tabellenblatt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hey Leute,

ich habe hier eine Reihe an Checkboxen auf einem Arbeitsblatt (keine Userform).

Ich möchte diese Comboboxen alle auf einmal visible = false setzen.


In der Userfrom geht das wie folgt:
Code:
       For i = 21 To 40
       Controls("CombokBox" & i).Visible = False
       Next
Auf dem Arbeitsblatt sagt er aber, dass er Controls nicht kennt.
Kann man das umgehen ohne alle Comboboxen speziell zu "gruppieren"?
Hallo, :19:

hier drei Möglichkeiten: :21:

Code:
Option Explicit
Public Sub Main()
    Dim objOLECheckBox As OLEObject
    ' Im gerade aktiven Tabellenblatt, sonst anpassen!!!!!
    For Each objOLECheckBox In ActiveSheet.OLEObjects
        With objOLECheckBox
            If TypeOf .Object Is MSForms.CheckBox Then
                .Visible = False
            End If
        End With
    Next objOLECheckBox
End Sub
Public Sub Main_1()
    Dim shpShape As Shape
    ' Im gerade aktiven Tabellenblatt, sonst anpassen!!!!!
    For Each shpShape In ActiveSheet.Shapes
        With shpShape
            If TypeOf .OLEFormat.Object Is OLEObject Then
                If TypeOf .OLEFormat.Object.Object Is MSForms.CheckBox Then
                    .Visible = False
                End If
            End If
        End With
    Next shpShape
End Sub
Public Sub Main_2()
    Dim lngTMP As Long
    For lngTMP = 1 To 3
        ' Im gerade aktiven Tabellenblatt, sonst anpassen!!!!!
        ActiveSheet.OLEObjects("CheckBox" & lngTMP).Visible = False
    Next lngTMP
End Sub

"Public Sub Main_2()" wird es dann bei dir sein. :21:
Vielen Dank @Case.

Aber der Code ist ja fast noch länger als alle einzeln aufzuzählen.

Dann setze ich lieber jeden einzeln.
Hallo Max,

das:
Zitat:hier drei Möglichkeiten:
hast du gelesen?