Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: CommandButton Name in Userform referenzieren

CommandButton Name in Userform referenzieren
16.02.2016 15:32:39
Vincent
Hallo zusammen,
im folgenden Codes möchte ich den Name von CommandButtons auslesen und den Index in den CommandButton Name für eine Schleife in einer Sub sondern keinen Click Event verwenden(denn der Name der CommandButtons in meinem Fall besteht aus "CommandButton" und einem sequenziellem Index ). Mit Hilfe dieser Schleife können alle CommandButtons automatisch ausgeblendet werden, sobald eine der beiden Zellen keine Inhalte beinhalten.
Das Problem ist als ich das Makro ausführe, tut die Schleife gar nicht. Weiß jemand wie mein Wunsch realisiert werden kann?

Sub Template_Button_Ein_Ausblenden()
Dim zelleZeile As Integer
Dim buttonIndex As Integer
zelleZeile = 2
buttonIndex = 2
Do While zelleZeile  "" And Cells(zelleZeile, 3)  "" Then
UserForm1.ActiveControl.Pages(ActiveControl.Value).ActiveControl.Name.Visible =  _
True
Else
UserForm1.ActiveControl.Pages(ActiveControl.Value).ActiveControl.Name.Visible =  _
False
End If
zelleZeile = zelleZeile + 1
buttonIndex = buttonIndex + 1
Loop
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CommandButton Name in Userform referenzieren
16.02.2016 16:54:50
Rudi
hallo,
das ist ja kompletter Quatsch.
Vorhin wolltest du wissen, welcher Button angeklickt worden ist. Den bekommst du mit
UserForm1.ActiveControl.Pages(ActiveControl.Value).ActiveControl
Mit
UserForm1.ActiveControl.Pages(ActiveControl.Value).ActiveControl.Name = "CommandButton"  _
& CStr(buttonIndex)

würdest du (wenn es denn funktionieren würde) den Button umbenennen.
so würde das für mich Sinn machen:
Sub Template_Button_Ein_Ausblenden()
Dim zelleZeile As Integer
For zelleZeile = 2 To 22
If Cells(zelleZeile, 2)  "" And Cells(zelleZeile, 3)  "" Then
UserForm1.MultiPage1.Pages(0).Controls("CommandButton" & zelleZeile).Visible = True
Else
UserForm1.MultiPage1.Pages(0).Controls("CommandButton" & zelleZeile).Visible = False
End If
Next
End Sub

Ich würde die Buttons aber eher deaktivieren anstatt ausblenden.
.Enabled=True/ False
Gruß
Rudi

Anzeige
AW: CommandButton Name in Userform referenzieren
16.02.2016 18:30:28
Vincent
Hallo Rudi,
stimmt, habe die Logik komplett falsch gedacht. Du hast mir sehr viel geholfen, vielen Dank nochmal!
Hier würde ich dir eine weitere Frage stellen. Warum werden die Farben meiner CommandButtons anhand folgenden Codes nicht geändert?

Sub Design()
For Each Box In UserForm1.MultiPage1.Pages(0).Controls
If TypeOf Box Is CommandButton Then
Call Einfaerben(Box, RGB(0, 0, 0), RGB(255, 255, 255), Schrift, 12, False)
End If
Next
End Sub
Sub Einfaerben(ByRef Control, ByVal Hintergrundfarbe, ByVal Schriftfarbe, ByVal Schrift, ByVal  _
Schriftgroesse, ByVal Schriftdicke)
With Control
.BackColor = Hintergrundfarbe
.ForeColor = Schriftfarbe
.Font.Name = Schrift
.Font.Size = Schriftgroesse
.Font.Bold = Schriftdicke
End With
End Sub
MFG
Vincent
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige