Hallo zusammen,
Ich habe eine Eingabemaske in Excel generiert die verschiedenen Funktionen erfüllen soll. Soweit sogut. (Da ich leider bisher sehr wenig programmiert habe, habe ich VBA innerhalb Excel verwendet was ich jetzt nichtmehr machen würde). Es ist notwendig die Hintergrundfarbe von Buttons innerhalb der Userform auf Labels innerhalb eines Tabellenblatts zu übertragen.
Mein Problem:
Ich würde gerne das hier:
If UserForm1.CommandButton1.BackColor = Rot Then Tabelle4.Label100.BackColor = Rot
If UserForm1.CommandButton2.BackColor = Rot Then Tabelle4.Label200.BackColor = Rot
If UserForm1.CommandButton3.BackColor = Rot Then Tabelle4.Label300.BackColor = Rot
If UserForm1.CommandButton4.BackColor = Rot Then Tabelle4.Label400.BackColor = Rot
If UserForm1.CommandButton5.BackColor = Rot Then Tabelle4.Label500.BackColor = Rot
If UserForm1.CommandButton6.BackColor = Rot Then Tabelle4.Label600.BackColor = Rot
If UserForm1.CommandButton7.BackColor = Rot Then Tabelle4.Label700.BackColor = Rot
If UserForm1.CommandButton8.BackColor = Rot Then Tabelle4.Label800.BackColor = Rot
Durch eine Schleife ersetzen: Variable rot, i, x
Do While i <= 800
Tabelle4.OLEObjects("Label" & i).Object.BackColor = Grau 'Funktioniert
If UserForm1.Controls("CommandButton" & x).BackColor = Rot Then MsgBox "bla" 'Funktioniert nicht
i = i + 100
x = x + 1
Loop
mein Problem liegt irgendwo hier : UserForm1.Controls("CommandButton" & x).BackColor
Ich habe schon verschiedenen möglichkeiten aus unterschiedlichsten Foren probiert.
Viele Grüße nd danke für die Hilfe.
|