Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

"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"?
Antworten 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:
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • StrammerMax
Antworten 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.
Antworten 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
Antworten Top


Gehe zu:


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