Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
144to148
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
144to148
144to148
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hintergrundfarbe ändern

Hintergrundfarbe ändern
08.08.2002 13:43:52
Marco
hallo,

in einer userform habe ich 365 labels. wenn ich ein oder mehrere labels anklicke, soll sich die hintergrundfarbe ändern, beim erneuten klick soll wieder ein farbwechsel erfolgen. beim dritten klick soll die ursprungsfarbe angezeigt werden.

ich habe das mit grossem aufwand gelöst, nämlich für jedes label ein private sub. kann man das auch leichter lösen ohne mit dieser masse an befehlen?

gruß
marco

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Hintergrundfarbe ändern
08.08.2002 14:49:17
Nike
Hi,

poste mal deinen Code, wie du es bisher gelöst hast...

Bye

Nike

Re: Hintergrundfarbe ändern
08.08.2002 14:52:07
Marco
Private Sub Label1_Click()
If Label1.BackColor = &H8000000F Then
Label1.BackColor = &HC0FFC0
Exit Sub
End If
If Label1.BackColor = &HC0FFC0 Then
Label1.BackColor = &HFFC0FF
Exit Sub
End If
If Label1.BackColor = &HFFC0FF Then
Label1.BackColor = &H8000000F
Exit Sub
End If
End Sub


und das müßte ich eigentlich für alle 365 label machen, erscheint mir aber recht umständlich

Re: Hintergrundfarbe ändern
08.08.2002 15:19:39
nayus
Hi,
nachfolgendes spart 'ne Menge Code:

Private Sub Label1_Click()
toggle_bkcolor Controls("Label1").BackColor, "Label1"
End Sub

Private Sub Label2_Click()
toggle_bkcolor Controls("Label2").BackColor, "Label2"
End Sub

Sub toggle_bkcolor(p_old_color As Long, p_name As String)
Dim l_green, l_blue, l_default As Long
l_col1 = &H8000000F
l_col2 = &HC0FFC0
l_col = &HFFC0FF

If p_old_color = l_col1 Then
Controls(p_name).BackColor = l_col2
ElseIf p_old_color = l_col2 Then
Controls(p_name).BackColor = l_col3
ElseIf p_old_color = l_col3 Then
Controls(p_name).BackColor = l_col1
End If
End Sub

Anzeige
Re: Hintergrundfarbe ändern
08.08.2002 15:30:58
Nike
Hi,
naja, du lagertst die Logik aus und änderst dann nur noch an einer Stelle, so in etwa:

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige