MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 13.09.2017, 19:36   #1
JoGo63
Neuer Benutzer
Neuer Benutzer
Standard Excel 2013 - Hintergrundfarbe des Commandbutton ändern

Hallo,

könnte mir jemand beim folgenden Problem helfen??

Auf einem Tabellenblatt befinden sich mehrere CommandButtons, die ausgewählt werden können. Jetzt möchte ich die Farbe des ausgewählten Button ändern. Es soll solange rot bleiben, bis ein anderes gewählt wird.
Dazu habe ich ein Makro, was aber sehr umfangreich wird, wenn ich noch mehr CommandButtons hinzufüge. Könnte man das Makro auch anders schreiben??

Code:

Private Sub CommandButton2_Click()
    ActiveSheet.CommandButton1.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton2.BackColor = &HFF&       'red
    ActiveSheet.CommandButton3.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton4.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton5.BackColor = &HC0C0C0     'grey
    
End Sub

Private Sub CommandButton3_Click()
    ActiveSheet.CommandButton1.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton2.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton3.BackColor = &HFF&       'red
    ActiveSheet.CommandButton4.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton5.BackColor = &HC0C0C0     'grey
End Sub

Private Sub CommandButton4_Click()
    ActiveSheet.CommandButton1.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton2.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton3.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton4.BackColor = &HFF&       'red
    ActiveSheet.CommandButton5.BackColor = &HC0C0C0     'grey
End Sub

Private Sub CommandButton5_Click()
    ActiveSheet.CommandButton1.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton2.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton3.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton4.BackColor = &HC0C0C0     'grey
    ActiveSheet.CommandButton5.BackColor = &HFF&       'red

End Sub
LG Jo
JoGo63 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.09.2017, 20:11   #2
Luschi
MOF Koryphäe
MOF Koryphäe
Standard

Hallo JoGo63,

per Klassenprogrammierung geht das wie im angehängten Beispiel.

Gruß von Luschi
aus klein-Paris
Angehängte Dateien
Dateityp: xlsm steuerelement_toolbox_klassen_commandbutton.xlsm (71,9 KB, 7x aufgerufen)
Luschi ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.09.2017, 20:19   #3
R J
MOF Meister
MOF Meister
Standard

...sehr schöne Lösung, Luschi!
Aber da ich auch gerade eine fertig hab, wollte ich die nicht ganz umsonst gemacht haben (und bei 4 Buttons dachte ich mir, ich spar mir die Klasse... )

Hier meine Solution in das Modul der Tabelle mit den Buttons:
Code:

Private Sub CommandButton1_Click()
    färben 1
End Sub

Private Sub CommandButton2_Click()
    färben 2
End Sub

Private Sub CommandButton3_Click()
    färben 3
End Sub

Private Sub CommandButton4_Click()
    färben 4
End Sub

Sub färben(nr As Byte)
Dim x As Byte
Dim btnnr$
For x = 1 To ActiveSheet.OLEObjects.Count
        If InStr(1, ActiveSheet.OLEObjects(x).Name, "CommandButton") Then
            btnnr = VBA.Mid(ActiveSheet.OLEObjects(x).Name, Len("CommandButton") + 1)
            If btnnr = cstr(nr) Then
                ActiveSheet.OLEObjects(x).Object.BackColor = vbRed
            Else
                ActiveSheet.OLEObjects(x).Object.BackColor = &HC0C0C0
            End If
    End If
Next
End Sub

__________________

Ciao, Ralf

Auf, zum Markplatz der Ideen!
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Diskussion

R J ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 09:15   #4
Beverly
MOF Guru
MOF Guru
Standard

Hi,

hier noch eine vereinfachte Version:

Code:

Private Sub CommandButton1_Click()
    Faerben 1
End Sub
Private Sub CommandButton2_Click()
    Faerben 2
End Sub
Private Sub CommandButton3_Click()
    Faerben 3
End Sub
Private Sub CommandButton4_Click()
    Faerben 4
End Sub
Private Sub CommandButton5_Click()
    Faerben 5
End Sub

Sub Faerben(intButton As Integer)
    Dim oobElement As OLEObject
    For Each oobElement In ActiveSheet.OLEObjects
        oobElement.Object.BackColor = IIf(oobElement.Name = "CommandButton" & intButton, &HFF&, &HC0C0C0)
    Next oobElement
End Sub

GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:35 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.