Das wäre das aufgezeichnete Makro (ich bin im Endeffekt nur einzeln nacheinander die Farben durchgegangen)
Wenn ich jedoch dieses Makro in einer leeren Arbeitsmappe durchführe, werden zwar die Farben durchgegangen (sieht man visuell) jedoch werden diese nicht bei den zuletzt benutzten Farben (oder eingestellten Farben) hinzugefügt.
Zitat:Geschrieben von Kuwer - 02.10.2019, 13:14 Hallo,
bist Du auch schon darüber gestolpert?
https://www.office-kompetenz.de/farben-a...verwenden/
Gruß Uwe
Danke für den Hinweis!
Ich habe das ganze bereits getestet, leider stellt sie aber keine abschließende Lösung dar. Die Farbeinstellungen werden lediglich in der expliziten Arbeitsmappe überneommen, aber nicht in den allgemeinen Exceleinstellungen gespeichert. Heißt also beim bearbeiten einer bestehenden Exceldatei oder einer neuen Exceldatei würden die Einstellungen nicht übernommen werden.
Code:
'Declare Sleep() API
#If VBA7 Then ' Excel 2010 or later
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal Milliseconds As LongPtr)
#Else ' Excel 2007 or earlier
Public Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long)
#End If
Sub LoadRecentColors()
'PURPOSE: Use A List Of RGB Codes To Load Colors Into Recent Colors Section of Color Palette
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault
Dim ColorList As Variant
Dim CurrentFill As Variant
'Array List of RGB Color Codes to Add To Recent Colors Section (Max 10)
ColorList = Array("066,174,093", "184,055,038", "046,062,081", "056,160,133")
'Store ActiveCell's Fill Color (if applicable)
If ActiveCell.Interior.ColorIndex <> xlNone Then CurrentFill = ActiveCell.Interior.Color
'Optimize Code
Application.ScreenUpdating = False
'Loop Through List Of RGB Codes And Add To Recent Colors
For x = LBound(ColorList) To UBound(ColorList)
ActiveCell.Interior.Color = RGB(Left(ColorList(x), 3), Mid(ColorList(x), 5, 3), Right(ColorList(x), 3))
DoEvents
SendKeys "%h"
Sleep 500 'Pause half-second (units in milliseconds)
SendKeys "h"
Sleep 500 'Pause half-second (units in milliseconds)
SendKeys "m"
Sleep 500 'Pause half-second (units in milliseconds)
SendKeys "~"
Sleep 500 'Pause half-second (units in milliseconds)
DoEvents
Next x
'Return ActiveCell Original Fill Color
If CurrentFill = Empty Then
ActiveCell.Interior.ColorIndex = xlNone
Else
ActiveCell.Interior.Color = currentColor
End If
End Sub
Das ist ist im übrigen der Code den ich im Netz gefunden habe, der aber leider in dieser Form bei mir nicht funktioniert hatte.
https://www.thespreadsheetguru.com/the-c...to-palette
Hallo
Zitat:Das ist ist der Code den ich im Netz gefunden habe, der aber leider in dieser Form bei mir nicht funktioniert hatte.
Stimmt, hat bei mir auch nicht funktioniert, deshalb habe ich ihn umgestrickt!
"Zwei Rechts, zwei Links, bis es eine Socke wird"... sagte meine Oma!
Ich denke mein Strickergebniss kann sich sehen lasssen, denn du kannst alle Dateien im xlsx Format beibehalten! Im Beispiel findest du zwei Tabellen. Einen Button nur für UserForm Start. Sieht sie nicht hübsch aus?? Den Farbcode habe ich in der 2. Tabelle erstellt. da kannst du deine Farbtabelle mit der dazugehörigen Color Nummer aus jedem RGB Code erstellen. Es können auch mehr als 10 Farben sein, dann musst du aber die UserForm erweitern! Sie hat jetzt genau 10 Image Felder!
Öffnest du eine 2. Datei, selektierst eine Zelle, und drückst das Farbfeld, ist die Innenfarbe in der Zelle drin. Grundlage war dein Code aus dem Internet, den ich auch umgestrickt habe, weil er bei zweistelligen Zahlen wie 87,87,87 in falsches Ergebnis brachte!! Das Makro laeuft NUR in der Beispieldatei!!
Wie gefallt dir meine Lösung das Problem zu losen. Würde mich freuen wenn du damit jetzt klar kommst.
mfg Gast 123