Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

vba Hintergrundfarbe Button ändern funktioniert nur im Debug-Modus

629 views
Skip to first unread message

ewald.s...@mri.bund.de

unread,
Mar 25, 2013, 4:33:22 AM3/25/13
to
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

Claus Busch

unread,
Mar 25, 2013, 5:16:38 AM3/25/13
to
Hallo Ewald,

Am Mon, 25 Mar 2013 01:33:22 -0700 (PDT) schrieb
ewald.s...@mri.bund.de:

> 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

ewald.s...@mri.bund.de

unread,
Mar 25, 2013, 6:18:15 AM3/25/13
to
Hallo Claus,

vielen Dank für deine schnelle Lösung(manchmal ist das "Activate" doch nicht so schlecht).

Schönen Tag und Frohe Ostern
Ewald

Bernhard Sander

unread,
Mar 25, 2013, 7:22:42 AM3/25/13
to
Hallo Claus,

> With ActiveSheet
> .CommandButton2.Activate

Eine Methode Activate habe ich in der Doku nicht beim CommandButton gefunden.
Kannst Du mir eine Infoquelle nennen?

Danke

Gru�
Bernhard Sander

Claus Busch

unread,
Mar 25, 2013, 7:26:59 AM3/25/13
to
Hallo Bernhard,

Am Mon, 25 Mar 2013 12:22:42 +0100 schrieb Bernhard Sander:

> Eine Methode Activate habe ich in der Doku nicht beim CommandButton gefunden.
> Kannst Du mir eine Infoquelle nennen?

nein, denn ich habe auch nichts gefunden. Es gibt f�r Buttons auch kein
SetFocus.
Aber ich habe bemerkt, wenn ich den 2. Button zuerst anklicke (er
bekommt dann einen gepunkteten Rahmen, Code war keiner vorhanden f�r
diesen Button) dann �bernimmt er auch die Farbe.
Da man aber nicht den Code von Button2 ablaufen lassen will, ist ein
Click-Ereignis auch nicht m�glich. Und so habe ich es mit Activate
ausprobiert und es funktioniert.
0 new messages