vba Hintergrundfarbe Button ändern funktioniert nur im Debug-Modus

25/03/2013 - 09:33 von ewald.steinberg | Report spam
Hallo NG,
ich arbeite mit Excel 2010 unter XP.
Auf einem Arbeitsblatt sind CommandButton1 und CommandButton2 die, bei Click die Hintergrundfarbe àndern sollen, solange eine Verabeitung stattfindet, was allerdings nur im Debug-Modus funktioniert.
Code:
Private Sub CommandButton1_Click()
CommandButton1.BackColor = RGB(255, 0, 0)
CommandButton2.BackColor = RGB(255, 0, 0)
Rem CB_2 soll BLAU werden !
CommandButton2.BackColor = RGB(0, 0, 255)
For i = 1 To 2
ActiveSheet.Cells(14, 1).Value = 6 - i
Application.Wait Now + TimeValue("00:00:01")
Next i
ActiveSheet.Cells(14, 1).Value = ""

CommandButton1.BackColor = RGB(255, 0, 0)
Rem CB_2 soll wieder ROT werden !
CommandButton2.BackColor = RGB(255, 0, 0)
CommandButton1.Enabled = False
CommandButton2.Enabled = True
End Sub

Private Sub CommandButton2_Click()
CommandButton1.BackColor = RGB(255, 0, 0)
CommandButton2.BackColor = RGB(255, 0, 0)
Rem CB_1 soll GRAU werden !
CommandButton1.BackColor = RGB(128, 128, 128)
ActiveWorkbook.RefreshAll
For i = 1 To 2
ActiveSheet.Cells(14, 2).Value = 6 - i
Application.Wait Now + TimeValue("00:00:01")
Next i
ActiveSheet.Cells(14, 2).Value = ""
Rem CB_1 soll wieder ROT werden !
CommandButton1.BackColor = RGB(255, 0, 0)
CommandButton2.BackColor = RGB(255, 0, 0)
CommandButton1.Enabled = True
CommandButton2.Enabled = False
End Sub

Hat jemand eine Vorstellung woran das liegen könnte?

Gruß
Ewald
 

Lesen sie die antworten

#1 Claus Busch
25/03/2013 - 10:16 | Warnen spam
Hallo Ewald,

Am Mon, 25 Mar 2013 01:33:22 -0700 (PDT) schrieb
:

Auf einem Arbeitsblatt sind CommandButton1 und CommandButton2 die, bei Click die Hintergrundfarbe àndern sollen, solange eine Verabeitung stattfindet, was allerdings nur im Debug-Modus funktioniert.



[Code ausgeschnitten]

wenn du CommandButton2 aktivierst bevor du Button1 klickst, dann klappt
das auch mit der Farbe. Passe den Code für Button2 entsprechend an:

Private Sub CommandButton1_Click()
Dim i As Long
With ActiveSheet
.CommandButton2.Activate
.CommandButton1.BackColor = RGB(255, 0, 0)
.CommandButton2.BackColor = RGB(0, 0, 255)
For i = 1 To 2
.Cells(14, 1).Value = 6 - i
Application.Wait Now + TimeValue("00:00:01")
Next i
.Cells(14, 1).Value = ""

.CommandButton2.BackColor = RGB(255, 0, 0)
.CommandButton1.Enabled = False
.CommandButton2.Enabled = True
End With
End Sub


Mit freundlichen Grüßen
Claus Busch
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3

Ähnliche fragen