HERBERS Excel-Forum - das Archiv
CommandButton ausblenden
Frank

Hallo Zusammen!!!
Ich grüße euch alle herzlich und bitte um Hilfe! Mittels folgendem Code blende ich bspw. den Button37 aus.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveSheet.Cells(1, 16) = 1 Then
CommandButton37.Visible = True
Else
CommandButton37.Visible = False
End If
Jetzt habe ich aber in diesem Blatt noch weitere Button, diese haben mir das Erstellen der Datei erleichtert, aber werden dann vom Anwender nicht mehr benötigt, wie kann ich diese und nur diese, denn bestimmte sollen auf dem Blatt erhalten bleiben, ausblenden. Es sollen die CommandButton 37 - 108 sein?
Für jeden Rat wie immer dankbar!!!
Gruß Frank H.

AW: CommandButton ausblenden
Philipp

Versteh die Frage nicht. . Mit z.B. CommandButton37.Visible sprichst du ja bestimmte Buttons an.
Oder willst du sie mit einer Schleife ausblenden (37-108 )
Wie meinst du das genau
Philipp
AW: CommandButton ausblenden
Frank

Hallo Philipp!
Wenn es mit einer Schleife funzt, na klar. Es sollen die Button 37 - 108 verschwinden wenn keine 1 in Zelle P1 steht.
Kannst du helfen?
Gruß Frank H.
AW: CommandButton ausblenden
Uduuh

Hallo,
Sub ttt()
Dim oOle As OLEObject
If Cells(1, 16) = 1 Then
For Each oOle In ActiveSheet.OLEObjects
If LCase(oOle.Name) Like "commandbutton*" Then
Select Case CInt(Replace(LCase(oOle.Name), "commandbutton", ""))
Case 37 To 108
oOle.Visible = False
Case Else
oOle.Visible = True
End Select
End If
Next
End If
End Sub

Gruß aus’m Pott
Udo

Alternativ über Zählschleife
{Boris}

Hi Frank,
Option Explicit
Sub wech_damit()
Dim i As Long
If [p1] <> 1 Then
With Tabelle1 'Codename der Tabelle - ggfls. anpassen!!
For i = 37 To 108
.OLEObjects("CommandButton" & i).Visible = Not .OLEObjects("CommandButton" & i).Visible
Next i
End With
End If
End Sub
Das erneute Ausführen des Codes blendet die Buttons wieder ein.
Grüße Boris
AW: Alternativ über Zählschleife
Frank

Hallo Ihr Zwei!!!
Danke für die schnelle Hilfe, konnte erst jetzt probieren und leider funzt es nicht so wie ich es gern hätte!
Der Code von Udo lässt die Button verschwinden, aber sie kommen nicht wie gewünscht wieder.
Der Code von Boris läuft leider nicht, wenn ich es in diese Codezeile packe
Private Sub Worksheet_SelectionChange(ByVal Target As Range).
Aber ich möchte nicht noch einen zusätzlichen sichtbaren Button für die User die anschließend damit arbeiten sollen!
Könnt ihr noch einmal drauf schauen? Es wäre sehr nett!!!
Danke und Gruß Frank H.
AW: Alternativ über Zählschleife
{Boris}

Hi Frank,
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Long
With Me
For i = 37 To 108
.OLEObjects("CommandButton" & i).Visible = .Range("P1") = 1
Next i
End With
End Sub
Grüße Boris
AW: Alternativ über Zählschleife
Uduuh

Hallo,
dann so:
Sub ttt()
Dim oOle As OLEObject
For Each oOle In ActiveSheet.OLEObjects
If LCase(oOle.Name) Like "commandbutton*" Then
Select Case CInt(Replace(LCase(oOle.Name), "commandbutton", ""))
Case 37 To 108
oOle.Visible = Not (Cells(1, 16) = 1)
Case Else
oOle.Visible = True
End Select
End If
Next
End Sub

Gruß aus'm Pott
Udo
AW: Alternativ über Zählschleife
Frank

Hallo Zusammen!!!
Ihr seid Spitze, der allerherzlichste Dank und noch 'ne schöne Vorweihnachtszeit wünscht
ehrfürchtig
Frank H.