Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1620to1624
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
Inhaltsverzeichnis

Farbe ändern cmd-Button

Farbe ändern cmd-Button
02.05.2018 16:00:09
Daniel
Geschätzte Excel Liebhaber
Ich habe ein spezifischen Problem, bei dem ich auf dem Schlauch stehe und für das ich bisher auch im Netz keine Problemlösung finden konnte. Ausgangslage ist wie folgt:
Ich habe in einer Tabelle (GR) einen ActiveX cmdButton(cmdErwBed), der nach Anklicken eine UserForm mit einer ComboBox (cboNeedsPlus) mit der Auswahlmöglichkeit Ja/Nein aufruft. Was ich will. Wenn "Ja" gewählt wurde, soll der Button grün erscheinen, bei einem "Nein" rot.
Die Farbänderung des Buttons habe ich über folgenden Code (in der UserForm) zu veranlassen versucht:
Private Sub cboNeedsPlus_Change()
'Funktion: Ein- und Ausschalten erw. Bedarf und entsprechende Tabellenanpassung
If cboNeedsPlus = "Nein" Then
'Färbt Button ein
GR.cmdErwBedarf.BackColor = -2147483633
[...]
Habt ihr einen Tipp, was ich falsch mache?¨
Besen Dank bereits im Voraus.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbe ändern cmd-Button
02.05.2018 16:27:53
Werner
Hallo Daniel,
dein Tabellenblatt mit dem ActiveX CommandButton hat den Namen "GR"?
Dann:
Private Sub cboNeedsPlus_Change()
If Me.cboNeedsPlus = "Ja" Then
Worksheets("GR").cmdErwBedarf.BackColor = vbGreen
ElseIf Me.cboNeedsPlus = "Nein" Then
Worksheets("GR").cmdErwBedarf.BackColor = vbRed
End If
End Sub
Gruß Werner
AW: Farbe ändern cmd-Button
02.05.2018 16:33:07
Daniel
Hi
könntest du deine Fehlerbeschreibung etwas präzisieren?
was sollte deiner Meinung nach passieren und was passiert tatsächlich?
gibt es einen Fehlerabbruch, wenn ja in welcher Programmzeile und mit welcher meldung?
Kannst du etwas mehr von deinem Code zeigen?
von welchem Typ ist deine Userform (modal, nicht modal)?
da sind noch viele Fragen offen, die du am einfachsten durch Hochladen einer Beispieldatei mit dem Fehler beantworten kannst.
Gruß Daniel
Anzeige
AW: Farbe ändern cmd-Button
03.05.2018 00:06:29
Daniel
Vielen Dank Werner und Daniel!
Ich komme jetzt dazu, eure Beiträge zu lesen und nehme zu euren Fragen/Vorschlägen Stellung:
@ Werner: Da habe ich natürlich vergessen zu erwähnen, dass GR als Variable definiert wurde, so dass ich nicht jedes Mal Worksheets("GR") im Code schreiben muss. Der Fehler liegt also nicht darin und ansonsten scheint mir dein Codevorschlag nicht von meinem Vorgehen abzuweichen. Das "Me" spare ich mir, weil der Code in der UserForm mit cboErwBed hinterlegt ist. Im Anhang sende ich dir eine Beispielmappe mit der nachgebauten Problematik (https://www.herber.de/bbs/user/121409.xlsm). Was mache ich falsch?
@ Daniel: Die Mappe darf ich nicht senden, ausserdem ist sie riesig und alleine das Einarbeiten würde Stunden brauchen, so dass ich diese Arbeit niemandem zumuten möchte. Aber ich habe das Problem nachgebaut und die Datei hochgeladen, das sollte das Problem veranschaulichen.
Zu deine Fragen (betrifft die nicht hochgeladene Datei): Die UserForm ist nicht modal und der Fehler tritt genau in der Codezeile mit der Anweisung "GR.cmdErwBedarf.BackColor = vbGreen" auf. Es meldet einen Fehler beim Kompilieren, dass die Methode oder das Datenobjekt nicht gefunden worden sei. Deshalb frage ich mich auch, ob ich ein anderes Vorgehen wählen müsste, das sich mir momentan aber leider nicht erschliesst. Der darauf folgende Code nimmt Formatierungen von einzelnen Zellen vor, steht also in gar keinem Zusammenhang und funktioniert auch einwandfrei.
Mein Ziel (siehe Beispielmappe: https://www.herber.de/bbs/user/121409.xlsm): Ein Button ist zu Beginn in neutraler Farbe. Ich will ihn anklicken und daraufhin geht eine UserForm auf mit einer Combobox, die eine Farbwahl zulässt. Wenn ich "Grün" wähle, soll der Button grün eingefärbt werden (sollte ja gehen, weil es ein ActiveX-Button ist) und bei "Rot" sollte er rot sein. Seht ihr eine Lösung?
Beste Grüsse - Daniel
Anzeige
Falscher Name verwendet
03.05.2018 01:04:12
Daniel
naja, wenn du deine Buttons einen Namen gibst, dann solltest du ja wissen wie sie heißen.
Der Button im Tabellenblatt heißt "Farbwechsel", diesen Namen musst du auch im Code verwenden.
Warum du dann versuchst, ihn im Code mit "cmdFarbwechsel" anzusprechrechen, musst du selber wissen.
Du musst den Namen verwenden, der in der Eigenschaftsliste des Buttons eingetragen ist, bzw der Name wird dir auch im Namensfeld (links vor der Eingabezeile) angezeigt, wenn du im Entwurfsmodus bist.
Gruß Daniel
AW: Falscher Name verwendet
03.05.2018 10:07:20
Daniel
Da liegst du natürlich richtig. Die Problematik in der Originaldatei hängt aber nicht damit zusammen. Du hast mir aber insofern schon sehr weiter geholfen, als dass der bisher beschrittene Ansatz funktionieren sollte, d.h. eine Fehlequelle ist ausgeschlossen.
Beste Grüsse - Daniel
Anzeige
Da die Beispieldatei mit dem korrigierten
03.05.2018 10:46:38
Daniel
Namen funktioniert, kann ich dir jetzt leider nicht mehr weiterhelfen.
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige