Clever-Excel-Forum

Normale Version: CommandButton Farbe und Inhalt ändern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Experten!

Ich möchte gerne wenn die UserForm aufgerufen wird das der CommandButton die Farbe Grün hat ,Text im Button " Alle" und ein Zähler auf 0 gesetzt wird.
Click, dann Button auf Farbe Orange ( oder eine andere Farbe )und Text "Nichts" im Button , Zähler auf 1 gesetzt.
Click, dann Button auf Farbe Grün ( oder eine andere Farbe )und Text "Alle" im Button, Zähler auf 0 gesetzt.
Wie kann mann so was realisieren.
Oder kann ich den Button auf True oder False abfragen wenn er die Farbe und Inhalt geändert hat?
Hallo Michel,
mit dem Code
Private Sub CommandButton1_Click()
  With Me.CommandButton1
    If .BackColor = vbGreen Then
      .BackColor = &H80FF&    'orange
      .Caption = "Nichts"
      Zähler = 1
    Else
      Start
    End If
  End With
End Sub
Private Sub UserForm_Initialize()
  Start
End Sub
Function Start()
  Me.CommandButton1.BackColor = vbGreen
  Me.CommandButton1.Caption = "Alles"
  Zähler = 0
End Function
und einer in einem Modul eingesetzten Zeile
   Public Zähler
sollte es gehen. Einen Button kann man nicht auf True oder False abfragen, siehe Eigenschaftenfenster.
Falls Du die Farbe vbgreen änderst, muss aber in Start und in ..._Click() die gleiche Farbe stehen.
Gruß der AlteDresdner
Hallo!

Hat nicht ganz so geklappt wie du es beschrieben hast, habe es dann so umgebaut.
Geht Prima

Code:
Private Sub CommandButton4_Click()
Dim i As Integer
Dim lngC As Long

With Me.CommandButton4
   If .BackColor = vbGreen Then
     .BackColor = &H80FF&    'orange
     .Caption = "Alle Ordner abwählen"
     Zähler2 = 1
   Else
       Me.CommandButton4.BackColor = vbGreen
       Me.CommandButton4.Caption = "Alle Ordner auswählen"
       Zähler2 = 0
   End If
 End With
Danke für deine Hilfe.
Noch eine frage, hab mal was gelesen das der Button auch blinken kann Huh ist so was möglich?
Hallo,

Zitat:Noch eine frage, hab mal was gelesen das der Button auch blinken kann [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
so was möglich?

Sowas sollte grundsätzlich möglich sein. Ich selbst habe aber mit dieser Möglichkeit nie gespielt, weil ...

Mein Gedankengang:
Es ist es wohl eher die Frage, ob das einen Sinn ergibt. Wenn es blinkt, läuft die ganze Zeit ein Makro im Hintergrund.
In der Datei selbst kann dann nicht mehr vernünftig gearbeitet werden, weil sämtliche Arbeitsvorgänge die in der Datei
vorgenommen werden, besser, vorgenommen werden sollen, vom laufenden Makro ständig blockiert und unterbrochen
werden.
Ob das für Dich akzeptabel ist, mußt letztendlich Du selbst entscheiden
Hallo!

Hast recht!
Ich dachte es ist möglich, mehere Code`s auf einmal laufen zulassen.
Hallöchen,

das Ändern der Farbe wäre ja eine Aktion, die z.B. zeitgesteuert alle 5 Sekunden für einen Sekundenbruchteil abläuft.
Dazu gibt es Application.OnTime.

Du kannst also das Userform starten und siehst dann alle 5 Sekunden die Farbe wechseln. Dazwischen hättest Du Zeit, was einzugeben oder was immer Du vorhast. Wenn Du allerdings gerade einen Satz in ein Textfeld schreibst könnte es sein, das es beim Farbwechsel einen kleinen Ruckler gibt.

Du könntest im Userform_Initialize oder Activate ein Farbmakro starten und am Ende vom Farbmakro lässt Du es mit Application.OnTime sich selbst aufrufen.
Beim Beenden des Userforms oder auch schon beim DeActivate beendest Du dann auch das ...OnTime.
Hallo Michael,

Zitat:Oder kann ich den Button auf True oder False abfragen wenn er die Farbe und Inhalt geändert hat?

wenn ich jetzt mal einfachheitshalber die Farbveränderung unter "blinken" einordne, bleibt immer
noch die "Inhaltsänderung" übrig. Die ist bisher ja, jedenfalls von mir, noch gar nicht berücksichtigt
worden.
Kannst Du bitte mal erklären, was Du mit dieser "Inhaltsänderung" meinst?
Hallo!
Danke für das intresse.
Ich hatte gedacht wenn die UF aufgerufen wird, ist der Button einfach Grün (ohne Blinken).
Clickt man ihn an ändert sich die Farbe, der Text im Button und er fängt an zu Blinken.
Als Optische Warnung oder Hinweis


Zitat:Kannst Du bitte mal erklären, was Du mit dieser "Inhaltsänderung" meinst?

Als Inhalt meinte ich das der Text vom Button ändert
Code:
Me.CommandButton1.Caption = "Alles"


Ist aber im moment für mich nicht mehr so wichtig. Aber vieleicht können ander Teilnehmer so was gebrauchen.
Habe noch Probleme mit Multiselect, was erstmal gelöst werden muss.
Es war nur so ein gedanken, für die Optik gewesen!
Danke nochmals für das intresse!
Hallo!

Was mir noch einfällt.

Der Button brauch ja auch nur sollange Blinken, bis man eine andre Aktion  macht, irgendeinen Button oder in eine ListBox Clicken.
Dann behählt er die Farbe und den Text der zuletzt angewählt wurde.
Ist ja nur für die Optik Angel