Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1952to1956
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

Füllfarbe mit einem Klick ändern

Füllfarbe mit einem Klick ändern
09.11.2023 12:16:33
Florian
Hallo

ich möchte die Füllfarbe das ausgewählten Zellen ändern. Dazu gehe ich in Menü Start, Füllfarbe und wähle dort die gewünschte Farbe. Das sind drei Mausklicks. Kann man es einrichten, dass dieses Farbenfenster offen bleibt? Denn dann könnte ich die Füllfarbe mit einem Klick ändern.

LG, Flo

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie wär´s mit 0 Klicks?
09.11.2023 12:26:41
MCO
Moin!

Angelehnt aus meinem Beitrag https://www.herber.de/forum/messages/1952983.html

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


Target.CurrentRegion.Interior.Color = xlNone
Target.Interior.Color = 11854022 ' Zelle grün
End Sub


Viel Erfolg!

Gruß, MCO
AW: Füllfarbe mit einem Klick ändern
09.11.2023 12:45:54
MCO
Nochwas:

Hier hab ich einen Code gefunden, der eine Farbwahlpalette aufruft:
https://www.herber.de/forum/archiv/1788to1792/1788343_VBA_ApplicationDialogsxlDialogPatterns.html

Angepasst auf jede neue gewählte Zelle (Färbung soll bleiben) säh das dann so aus:

Private Sub Worksheet_SelectionChange(ByVal target As Range)


'Create variables for the color codes
Dim FullColorCode As Long
Dim RGBRed As Integer
Dim RGBGreen As Integer
Dim RGBBlue As Integer

FullColorCode = target.Interior.Color 'Get the color code from the cell named "RGBColor"
'Vorauswahl der Farbe bestimmen
RGBRed = FullColorCode Mod 256 'Get the RGB value for each color (possible values 0 - 255)
RGBGreen = (FullColorCode \ 256) Mod 256
RGBBlue = FullColorCode \ 65536

If Application.Dialogs(xlDialogEditColor).Show _
(1, RGBRed, RGBGreen, RGBBlue) Then 'Open the ColorPicker dialog box, applying the RGB color as the default
'Set the variable RGBColorCode equal to the value
'selected the DialogBox
FullColorCode = ActiveWorkbook.Colors(1)
target.Interior.Color = FullColorCode 'hier wir die Farbe angewandt
End If
End Sub


Wenn du die RGB-Vorauswahl anpasst, sparst du die den Auswahl-Klick, es bleibt "OK"
Schau mal, wie du zurechkommst.

Gruß, MCO
Anzeige
AW: Füllfarbe mit einem Klick ändern
09.11.2023 15:07:49
daniel
Hallo
wenn du nur einen kleine vordefinierte Auswahl an Farben hast und nicht auf den vollen RGB-Farbraum zugreifen willst, dann könntest du einfach eine nichtmodale Userform erstellen.
Diese ist immer sichtbar und du kannst währenddessen in der Tabelle arbeiten.
Die Userform enthält für jede Farbe einen Button, bei Klick auf den Button wird die Farbe des Buttons in die Zelle geschrieben.
Gruß Daniel
AW: Füllfarbe mit einem Klick ändern
09.11.2023 16:28:24
Florian
Userform mit Farben klingt gut.
Gibt es sowas vielleicht schon fertig irgendwo?
Ich wurde nicht fündig, aber vielleicht auch deshalb, weil ich nicht die richtigen Suchbegriffe habe.
Habt ihr da vielleicht eine Idee?

Und dann noch eine Frage:
MCO hat in seiner Antwort ein Makro, in dem "ActiveWorkbook.Colors" verwendet wird. Mich würde interessieren, was das ist. Auch da wurde ich nicht fündig, ausser dass das eine Liste von Farben ist. Aber welche Funktion diese Liste hat? Offensichtlich kann man da einfach was reinschreiben.

LG, Flo.
Anzeige
AW: Füllfarbe mit einem Klick ändern
10.11.2023 15:20:41
daniel
obs sowas schon gibt, weiß ich nicht.
ich stehe da mehr auf Oldschool-Selbermaching.
AW: Füllfarbe mit einem Klick ändern
13.11.2023 09:03:31
Florian
Ich dachte, es gibt sowas schon irgendwo im Netz und ich habe es nur nicht gefunden.

Danke Daniel, mir ist jede brauchbare Hilfe recht. Wenn Du mir hier helfen könntest, wäre das grandios. Ich selbst bin noch nicht so gut, dass ich das könnte.
AW: Füllfarbe mit einem Klick ändern
14.11.2023 09:19:09
daniel
Woran scheitert es denn bei dir?
Schon daran, eine Userform mit einem Button zu erzeugen?


Gruß Daniel
AW: Füllfarbe mit einem Klick ändern
14.11.2023 12:32:39
Florian
Sowas habe ich schon mal gefunden. Habe damit schon viele Stunden verbracht. Daher bevorzuge ich, nach fertigen Beispielen zu suchen und versuche sie zu verstehen und passe sie dann an. So lernt man am Besten, habe ich mir sagen lassen. Und ist auch schnell erstellbar, wenn man es kann.
Anzeige
AW: Füllfarbe mit einem Klick ändern
14.11.2023 13:05:39
daniel
naja, dann solltest du ja gelernt haben, so eine Userform zu erstellen.
im Prinzip brauchst du nur eine Userform und für jede Farbe einen Commandbutton.
den Commandbutton färbst du dann über die Eigenschaftsliste - Backcolor in der gewünschten Farbe ein.
dann erstellst du das CLICK_Eventmakro für diesen Button (müsste automatisch erstellt werden, wenn du den Button mit der rechten Maustaste anklickst und "Code anzeigen" klickst)

die Codezeile ist dann einfach:
Selection.Interior.Color = Commandbutton1.Backcolor


für die Userform musst du die Eigenschaft: ShowModal = False einstellen.

solltest du in der Farbpalette die Farbe nicht finden, kannst du sie im Initialize-Event der Userform zuweisen.
Commandbutton1.Backcolor = RGB(...)


Gruß Daniel
Anzeige
AW: Füllfarbe mit einem Klick ändern
14.11.2023 16:22:00
Florian
Danke, funktioniert soweit. Habe ein paar Farbbuttons gesetzt.

Kann man die Backcolor auf den aktuellen Button beziehen, sodass bei jedem Sub CommandButtonX_Click die selbe Zeile steht?
Also Me.Backcolor geht nicht, aber vieleicht so was ähnliches.

Und noch eine Frage: Was nuss man schreiben, wenn "Keine Farbe" erscheinen soll?

LG, Florian
AW: Füllfarbe mit einem Klick ändern
14.11.2023 16:53:45
daniel
HI
ME ist hier die Userform selbst.
wenn, dann könntest du ActiveControl anstelle des Buttonnamens verwenden, damit der Code in jedem Makro der gleiche ist.

um auf die Standardfarbe von Excel zurückzusetzen, nimm: ...interior.color = xlnone

wie viele Buttons hast du denn?

wenns viele sind und du nicht viele Makros schreiben willst, könnte man auch folgendes tun:

1. anstelle der Buttons Labels verwenden, die man entsprechend einfärbt.
2. man legt über die vielen einzelnen Labels ein weiteres Label, welche alle Farblabels überdeckt. Damit die Labels sichtbar bleiben, schaltet man dieses Label auf Transparent.
3. Im MouseUp-Event dieses großen Labels fragt man die X- und Y-Position des Mauszeigers beim Klick ab. Dann vergleicht man über X- und Y-Position sowie breite und Höhe der Labels, welches Label sich unter dem Mauszeiger beim Klick befand und verwendet dessen Farbe.
dann kommt man mit einem Makro aus und muss dieses auch nicht ändern, wenn weitere Farben hinzukommen sollen.

Gruß Daniel
Anzeige
AW: Füllfarbe mit einem Klick ändern
14.11.2023 18:18:57
Florian
Es geht nicht um die vielen Makros (10 Farben), sondern ich frage aus purem Interesse. Vielleicht braucht man mal den Button, der gereade angeklickt wurde, zB um ihn verschwinden verschieben zu lassen oder so was ähnliches.

Und wie geht das mit ActiveControl?

Könntest Du auch meine Frage, die hier zwischendurch aufgetreten ist, beantworten? Da war mal von WS.Color die Rede. Was ist das? Ist das eine Collection? Kann ich da alles reinschreiben, was ich will? Welche Bedeutung hat diese für Excel?

LG, Florian
AW: Füllfarbe mit einem Klick ändern
09.11.2023 13:03:16
Florian
Hallo MCO,

zu Deinem Makro: Mit Klick auf OK ist ja das Fenster wieder zu. Das Fenster sollte die ganze Zeit offen bleiben, sodass ich ich jederzeit die gewünschte Farbe anklicken kann. So wie zum Beispiel Fett oder rechtsbündig. Das kann ich auch jederzeit anklicken und wird auf die aktuellen Zellen angewendet.

LG, Flo.
Anzeige
das geht nicht, ...
09.11.2023 13:33:00
Uduuh
Hallo,
... da es sich bei den Farben um eine Galerie und keinen einzelnen Button handelt.

Gruß aus'm Pott
Udo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige