Hallo,
ich dachte ich hatte das beschriebn.
Was nicht geht: Das was hier einzeln steht in einer Schleife darzustellen: (Einzeln so wie unten angegeben funktioniert es - mir wäre nur eine schleife lieber)
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
Wie es sich äußern sollte:
Ist ja eigenlich unrelevant aber: Wenn in meiner UserForm1 im laufe des Programmes die Hintergrundfarbe auf rot geändert wird, dann soll die Hintergrundfarbe im entsprechenden label in Tabelle 4 auch geändert werden. Und das es nicht funktioniert äußerst sich daran das nichts passiert. (Nur wenn ich folgende Schleife verwende)
Do While i <= 800
Tabelle4.OLEObjects("Label" & i).Object.BackColor = Grau 'Farbe Grau setzen funktioniert
If UserForm1.Controls("CommandButton" & x).BackColor = Rot Then.... 'Funktioniert nicht
i = i + 100
x = x + 1
Loop
Mein Problem liegt irgendwo hier : UserForm1.Controls("CommandButton" & x).BackColor : Ist die Formulierung richtig bzw. wie würdet ihr die schleife machen
|