CommandButton wechselweise einfaerben
06.09.2018 15:30:46
Torsten
mit folgendem Code wird der geklickte Button rot gefaerbt (damit user weiss, was er zuletzt geklickt hat). Wenn dann ein anderer Button geklickt wird, wird dieser rot und der vorherige bekommt die urspruengliche graue Farbe zurueck. Hier Beispiel fuer Button10. Die Buttons sind ActiveX.
Private Sub CommandButton10_Click()
Application.ScreenUpdating = False
ThisWorkbook.Sheets("Tracker").CommandButton10.BackColor = RGB(255, 0, 0)
ThisWorkbook.Sheets("Tracker").CommandButton8.BackColor = RGB(220, 220, 220)
ThisWorkbook.Sheets("Tracker").CommandButton9.BackColor = RGB(220, 220, 220)
ThisWorkbook.Sheets("Tracker").CommandButton7.BackColor = RGB(220, 220, 220)
ThisWorkbook.Sheets("Tracker").CommandButton11.BackColor = RGB(220, 220, 220)
ThisWorkbook.Sheets("Tracker").CommandButton12.BackColor = RGB(220, 220, 220)
ThisWorkbook.Sheets("Tracker").CommandButton13.BackColor = RGB(220, 220, 220)
ThisWorkbook.Sheets("Tracker").CommandButton14.BackColor = RGB(220, 220, 220)
ThisWorkbook.Sheets("Tracker").CommandButton15.BackColor = RGB(220, 220, 220)
ThisWorkbook.Sheets("Tracker").CommandButton19.BackColor = RGB(220, 220, 220)
ThisWorkbook.Sheets("Tracker").CommandButton20.BackColor = RGB(220, 220, 220)
...und weiterer Code
Meine Frage. Gibt es eine elegantere Loesung hierfuer, da, wenn es noch mehr Buttons gibt, wird die Schreibarbeit im Code unendlich.Ich muss das jetzt fuer ein anderes Tool machen, in dem bereits 43 Buttons existieren.
Dachte vielleicht daran, den aktivierten Button auszulesen und demnach zu handeln.
Bin fuer jede Hilfe dankbar.