"Controls" auf Tabellenblatt
#1
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"?
Top
#2
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:
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • StrammerMax
Top
#3
Vielen Dank @Case.

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

Dann setze ich lieber jeden einzeln.
Top
#4
Hallo Max,

das:
Zitat:hier drei Möglichkeiten:
hast du gelesen?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste