Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
CB-Farben ändern > bei festen Zellenwert
16.03.2008 15:10:00
Lenhard
Moin Ihr Excellianer!!
Ich habe CommandButton (CB01 ...bis04) auf einem Tabellenblatt "liegen". Ich möchte gerne per VBA die Hintergrund- und/oder Schriftfarbe des CB ändern, wenn in einer Zelle des Tabellenblattes ein bestimmter Wert steht.
Wenn in Zelle A1 des Tabellenblattes "1" steht, mache mir die Hintergrundfarbe des CB01 z.B. Rot...
Wenn diese "1" dort nicht steht, dann mache mir die Hintergrundfarbe des CB01 immer z.B. Blau....
...und wenn man die Anweisung für die Schriftfabe des CB01 noch integrieren könnte... ...dann wär es perfekt!
...usw. für die CB02-04
Weiß jemand eine Lösung? ...und könnte sie hier vorstellen! Vielen Dank!!
Gruß aus dem hohen Norden!!
Lenhard

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CB-Farben ändern > bei festen Zellenwert
16.03.2008 15:12:00
Hajo_Zi
Hallo Lenhard,
sie das Eigaben oder Formeln?

AW: CB-Farben ändern > bei festen Zellenwert
16.03.2008 15:21:00
Daniel
HI
das ändern der Farbe ist recht einfach (Namen und Bezeichungen bitte anpassen):

Sheets(1).Commandbutton1.Backcolor = 123456
Sheets(1).Commandbutton1.ForeColor = 123456


den entsprechenden Farbcode kannst du herausfinden, in dem du die gewünschte Farbe von Hand vergibst und dann im VBA-Editor im Direktfenster diesen Befehl eingibst:


?Sheets(1).Commandbutton1.Backcolor


die entscheidende Frage ist allerdings: wie ändert sich der Wert in A1?
wird dort von Hand ein Wert eingetragen oder steht dort eine Formel?
Gruß, Daniel

Anzeige
AW: CB-Farben ändern > bei festen Zellenwert
16.03.2008 15:43:44
Lenhard
Moin Hajo!! Moin Daniel!!
Vielen Dank für Eurer Interesse!! ...ja richtig: Es ist natürlich wichtig, ob in der Zelle A1 des Tabellenblattes der Wert "1" per Formel steht oder ob er per Hand eingegeben wird.
Also der Wert "1" wird in die Zelle mittels eines VBA-Codes geschrieben: ActiveCell.FormulaR1C1 = "1" ...ist diese Anweisung.
Ich weiß nun nicht, ob das einer "Handeingabe" oder einer"Formeleingabe" entspricht?!? ...ich glaube eher einer Handeingabe, da bei der Kontrolle über die fx-Leiste in Excel auch nur eine "1" steht.
Vielen Dank für Eure Hilfe!
Gruß
Lenhard

Anzeige
AW: CB-Farben ändern > bei festen Zellenwert
16.03.2008 15:49:00
Daniel
Hi
wenn der Zellwert per VBA-Code gesetzt wird, dann integriere doch den Code zum ändern der Farbe gleich in dieses Makro!
ansonsten hast du recht, daß sezten des Wertes per Makro entspricht der Handeingabe, dh. du könntest das ändern der Farben auch über das CHANGE-EVENT steuern, wobei ich die erste Variante aber bevorzugen würde.
Gruß, Daniel

AW: CB-Farben ändern > bei festen Zellenwert
16.03.2008 15:51:00
Hajo_Zi
Hallo Lenhard
es reich
ActiveCell = 1 Du schrebstzt keine Formel in die Zelle.
Schreibe den Code von Danel unter die Tabelle unter
Private Sub Worksheet_Change(ByVal Target As Range)
aber warum setzt Du die Farbe nicht gleich in dem Code wo Du auch die 1 reinschreibt?
Gruß Hajo

Anzeige
AW: CB-Farben ändern > bei festen Zellenwert
16.03.2008 16:00:26
Lenhard
Vielen Dank für Eure weitere Hilfe!! ...es bringt mich einer Lösung wahrscheinlich näher!!
Ich muss nun zu Fototerminen. Ich melde mich heute Abend noch mal!!
Gruß
Lenhard

AW: CB-Farben ändern > bei festen Zellenwert
17.03.2008 00:56:21
Lenhard
Hallo Hajo!! Hallo Daniel!!
...nun ist es ein wenig später geworden, aber Eure "Gedankenanstöße" haben mir weiter geholfen!!
Folgendes habe ich nun umgesetzt und es funktioniert!!

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1").Value = 1 Then
CommandButton1.BackColor = RGB(255, 0, 0)
Else
CommandButton1.BackColor = RGB(0, 0, 255)
End If
If Range("A1").Value = 2 Then
CommandButton2.BackColor = RGB(255, 0, 0)
Else
CommandButton2.BackColor = RGB(0, 0, 255)
End If
If Range("A1").Value = 3 Then
CommandButton3.BackColor = RGB(255, 0, 0)
Else
CommandButton3.BackColor = RGB(0, 0, 255)
End If
If Range("A1").Value = 4 Then
CommandButton4.BackColor = RGB(255, 0, 0)
Else
CommandButton4.BackColor = RGB(0, 0, 255)
End If
End Sub


Vielen vielen Dank Euch Beiden!!!
Viele Grüße aus dem Norden!!
Lenhard

Anzeige
AW: CB-Farben ändern > bei festen Zellenwert
17.03.2008 09:01:56
Hajo_Zi
Hallo Lenhard,
das geht aber auch mit weniger Code.

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1").Value = 1 Or Range("A1").Value = 2 Or _
Range("A1").Value = 3 Or Range("A1").Value = 4 Then
CommandButton4.BackColor = RGB(255, 0, 0)
Else
CommandButton4.BackColor = RGB(0, 0, 255)
End If
End Sub


Gruß Hajo

AW: CB-Farben ändern > bei festen Zellenwert
17.03.2008 09:40:00
Matthias
Hallo Hajo
Du hast übersehen, das es 4 CommandButton sind.
Gruß Matthias

AW: CB-Farben ändern > bei festen Zellenwert
17.03.2008 13:27:00
Hajo_Zi
Hallo Matthias,
dann sind die anderen CommandButton aber nur noch zu ergänzen. Man braucht nicht soviele Vergleiche. Sie sind ja alle von A1 abhängig.
Gruß Hajo

Anzeige
AW: CB-Farben ändern > bei festen Zellenwert
17.03.2008 13:54:29
Hajo_Zi
Hallo Matthias,
ich habe doch was übersehen es sind ja andere Werte je CommandBUtton.
Gruß Hajo

AW: CB-Farben ändern > bei festen Zellenwert
17.03.2008 11:54:08
Lenhard
Moin Matthias! Moin Hajo!
Ja Richtig, Matthias, es sind 4 CommandButton... ...aber trotzdem vielen Dank, Hajo!! Denn auch dieser Ansatz bringt mich auf neue Ideen!!
Nochmals vielen Dank Euch Beiden!!!!
Gruß
Lenhard

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige