Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1472to1476
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige