Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ColorPicker: erweiterter FarbPicker

Forumthread: ColorPicker: erweiterter FarbPicker

ColorPicker: erweiterter FarbPicker
10.11.2018 09:44:59
Dieter(Drummer)
Guten Morgen an alle.
Vor einiger Zeit suchte ich die Möglicheit, die Farberweiterung des FarbPickers, direkt per Code aufzurufen. Es gab keine Lösung für mich.
Jetzt habe ich es heraus gefunden und stelle es hier ein, da evtl. andere so etwas mal brauchen. Code z.B. in Modul1:
  • 
    Sub ErwFarbe() 'Colordialog: erweiterte Farben zeigen
    MsgBox "Zahl in Klammern des Codes, geben die markierte Farbe im ColorPicker an."
    Application.Dialogs(xlDialogEditColor).Show (2) '2 steht für weiß
    End Sub
    

  • Gruß und einen erfreulichen Tag,
    Dieter(Drummer)
    Anzeige

    1
    Beitrag zum Forumthread
    Beitrag zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    Relativ frei von Sinn und Nutzen
    11.11.2018 10:01:19
    Sinn
    Relativ frei von Sinn und Nutzen
    Hallo Dieter,
    Zitat: Vor einiger Zeit... Nämlich in diesem Thread, in dem ich Dir eine Beispielmappe mit einer funktionierenden Lösung angeboten habe:
    Es gab keine Lösung für mich.Wie hast du denn jetzt rausgefunden, wie der "erweiterter FarbPicker" aufgerufen wird? Wohl durch Trial(Versuch) und Error(Fehler) des dortigen Codes, würde ich vermuten.
    Nun zu meiner Feststellung "frei von Sinn und Nutzen", bzw. zu Deiner da evtl. andere so etwas mal brauchen.
    Was ist daran brauchbar? Du rufst den Dialog mit einer Vorgabe auf. Schon der Kommentar, dass 2 für Weiß steht, ist nur unter der Bedingung richtig, dass die Standard-Farbpallete in der XL-Applikation angewendet wird. Es wird auch keine Farbe, sondern ein Farbindex (Eigenschaft .ColorIndex) als Parameter an den Aufruf übergeben. Will der Anwender eine andere Farbe im "Picker" wählen, kann er das, aber nix weiter...! D.h. du gehst nicht darauf ein, was der Nutzen für den Anwender ist.
    Ich muss also annehmen, dass du weder die Funktion des Dialogs verstanden hast, noch wie man sie anwendet.
    Du wendest ihn ja als Monolog an und benutzt den Dialog nicht dazu etwas zu ändern. Das hat durchaus Ähnlichkkeit mit Deiner Einstellung und dem Deinem Verhalten im Forum. Du sagstes einmal, (Zitat) da ich nicht der Logiker bin ... verstehe ich es nicht. Was du jetzt verstanden hast, ist wie man den Farben-Dialog aufruft. Aber auch das nicht einmal vollständig. Auch als nicht Logiker kannst du Dir doch die Fragen stellen. Was will ich damit erreichen? Möchte ich von dem Dialog ein weiteres Resultat haben, als nur eine Farbauswahl anzuzeigen? Wie kann ich eine beliebige Farbe aus den 16'776'216 möglichen auswählen und z.B. den Hintergrund einer Zelle damit färben?
    Es gibt über 260 Dialoge in XL, die man aufrufen kann (was übrigends mit dem Objekt-Explorer) relativ leicht herauszufinden ist.
    Der Aufruf ist trivial, aber das Auseindersetzen mit den Parametern, die man einfach in der Hilfe nachschlagen kann, ist essentiell um auch von der Funktion der Dialoge zu 'profitieren'.
    All das zeigt Dir oben verlinktes Beispiel. Aber du verkaufst Deine mikrige (gestohlene) Kenntniss hier als ob du gerade was sensationell neues er-/gefunden hättest! Ich hoffe diese (in Deinen Augen, sicher harsche) Kritik, bringt Dir mehr Selbst-Erkenntnis.
    Gruess und schönes Wochenende
    Hansueli
    Anzeige
    ;
    Anzeige

    Infobox / Tutorial

    Erweiterter FarbPicker in Excel VBA nutzen


    Schritt-für-Schritt-Anleitung

    Um den erweiterten FarbPicker in Excel VBA zu verwenden, kannst du den folgenden Code in ein Modul einfügen:

    Sub ErwFarbe() 'Colordialog: erweiterte Farben zeigen
        MsgBox "Zahl in Klammern des Codes, geben die markierte Farbe im ColorPicker an."
        Application.Dialogs(xlDialogEditColor).Show (2) '2 steht für weiß
    End Sub
    1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
    2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
    3. Füge den obigen Code in das Modul ein.
    4. Schließe den VBA-Editor und kehre zu Excel zurück.
    5. Führe das Makro ErwFarbe aus, um den erweiterten FarbPicker zu öffnen.

    Häufige Fehler und Lösungen

    • Fehler bei der Ausführung des Makros: Stelle sicher, dass Makros in deinen Excel-Einstellungen aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die notwendigen Optionen.

    • Dialog öffnet sich nicht: Überprüfe, ob du die richtige Excel-Version verwendest, die den xlDialogEditColor unterstützt. Dieser Dialog ist in der Regel in Excel 2007 und späteren Versionen verfügbar.


    Alternative Methoden

    Falls der integrierte Excel-VBA-FarbPicker nicht deinen Anforderungen entspricht, kannst du auch einen HTML ColorPicker verwenden. Hierbei handelt es sich um ein externes Tool, das eine breitere Palette von Farben zur Verfügung stellt. Du kannst die gewählte Farbe dann über VBA in deine Excel-Arbeitsmappe einfügen.

    Ein einfaches Beispiel für die Verwendung eines HTML ColorPickers könnte so aussehen:

    1. Erstelle eine UserForm in VBA.
    2. Füge ein WebBrowser-Steuerelement hinzu, das den HTML ColorPicker lädt.
    3. Lese die ausgewählte Farbe zurück und wende sie in Excel an.

    Praktische Beispiele

    Ein praktisches Beispiel für die Anwendung des FarbPickers könnte das Färben einer Zelle in Excel sein:

    Sub ZelleFarbeAendern()
        Dim Farbe As Long
        Farbe = Application.Dialogs(xlDialogEditColor).Show (2) 'Farbe wählen
        If Farbe <> False Then
            Range("A1").Interior.Color = Farbe 'Zelle A1 färben
        End If
    End Sub

    Dieses Makro öffnet den FarbPicker und färbt die Zelle A1 mit der ausgewählten Farbe.


    Tipps für Profis

    • Nutze den ColorIndex-Wert, um Farben gezielt auszuwählen. Beachte, dass der ColorIndex sich auf die Standardfarbpalette von Excel bezieht.
    • Experimentiere mit verschiedenen Dialogen in Excel, um deren Funktionalitäten zu verstehen. Über den Objekt-Explorer kannst du alle verfügbaren Dialoge entdecken.
    • Versuche, die Farbauswahl mit anderen VBA-Funktionen zu kombinieren, um dynamische Farbanpassungen in deinen Arbeitsblättern zu ermöglichen.

    FAQ: Häufige Fragen

    1. Welche Excel-Version benötige ich für den erweiterten FarbPicker?
    Du benötigst mindestens Excel 2007, um den xlDialogEditColor und die entsprechenden VBA-Funktionen nutzen zu können.

    2. Kann ich den FarbPicker in einer UserForm verwenden?
    Ja, du kannst den FarbPicker auch in einer UserForm verwenden, indem du den Dialog innerhalb der UserForm aufrufst. Achte darauf, die Rückgabewerte richtig zu verarbeiten.

    3. Gibt es eine Möglichkeit, den FarbPicker ohne VBA zu verwenden?
    Ja, du kannst die Farbpalette von Excel direkt über das Menü Start > Füllfarbe verwenden, aber dies bietet nicht die erweiterten Optionen, die der VBA-FarbPicker bietet.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige