So erhalten Sie Farben, die mit der Farbskala der bedingten Formatierung von Excel 2012 über VBA-Code erstellt wurden

8

Ich muss wissen: Wie man Farben mit der Farbskala der bedingten Formatierung von Excel 2010 durch VBA-Code erstellt . Diese Farben werden anschließend von VBA als Diagrammhintergrund gemäß folgendem Bild zugewiesen:

www.lnkm.cz/Slozka/Example.jpg http://www.lnkm.cz/Slozka/Example. jpg

Ich habe auf verschiedenen Webseiten geforscht und:

  1. Die meisten Leute empfehlen, die Farbe der bedingten Formatierung nach Methode zu lesen %Code% aber in meinem Fall funktioniert es nicht wegen des Fehlers "Objekt unterstützt diese Eigenschaft oder Methode nicht"
  2. Manche Leute raten, eigene Berechnungen von Farben zu schreiben (basierend auf Zellenwerten). Ich habe verschiedene Wege gefunden, wie es geht, aber keiner von ihnen kann die gleichen Farben berechnen, wie zuvor von Excel berechnet wurde (dieselben Farben wie im vorherigen Bild).

Also frage ich:

  1. Gibt es eine Möglichkeit, Farben direkt aus Zellen herzustellen? (oder diese Farben sind für die API nicht zugänglich)
  2. Wissen Sie, wie man dieselben Farben wie Excel berechnen berechnet?
  3. Kennen Sie einen anderen Weg, wie Sie mein Problem lösen können?

Ich glaube, dass es irgendwie funktionieren muss.

    
Jure 19.03.2012, 15:49
quelle

6 Antworten

4

Wenn keine bessere Antwort angegeben wird, können Sie diese Problemumgehung versuchen:

  1. Verknüpfen Sie / kopieren Sie Ihre Daten in Zellen unter dem Diagramm (mit Formeln wie =Sheet1!A1 )
  2. wendet die gleiche bedingte Formatierung an
  3. Versteckt die Werte (mit benutzerdefiniertem Zahlenformat wie "" , d. h. leeres String-Literal (2 doppelte Anführungszeichen))
  4. mache das Diagramm transparent
  5. Richten Sie die Zellen mit dem Diagramm
  6. aus

AKTUALISIEREN :

oder Sie können versuchen, die Farbe für jeden R, G, B-Kanal durch lineare Näherung zu berechnen, wenn das bedingte Format nur 2 Grundfarben (r1, g1, b1) und (r2, g2, b2) für 2 Eckfälle verwendet was kann

sein
  • min und max Wert , z. B .: 0 - 4 000
  • min und max Prozent , z. B .: 10% - 90%
    (ich glaube, Sie können% * [max_value - min_value] verwenden, um den tatsächlichen Wert zu erhalten)
  • min und max Perzentil , z. B .: 0. Perzentil - 100. Perzentil

Für Prozent / Perzentil-Optionen müssen Sie zuerst einen tatsächlichen Wert in den Prozent- / Perzentilwert konvertieren, wenn dann value < min oder value > max die Eckfarben verwenden, andernfalls:

%Vor%     
Aprillion 19.03.2012, 21:10
quelle
2

Dies kopiert ein Bild einer Zelle in die obere linke Ecke eines Diagrammobjekts auf demselben Arbeitsblatt. Beachten Sie, dass das Bild mit der kopierten Zelle verknüpft ist. Wenn sich der Wert oder die Formatierungsfarbe ändert, wird sie entsprechend angepasst.

%Vor%

EDIT: Ich habe das gerade mit einer ziemlich kleinen 4x8 Matrix von Zellen / Charts getestet und die Performance ist ziemlich schlecht! Könnte besser sein, nur ohne Link einfügen: = True ...

    
Tim Williams 20.03.2012 05:36
quelle
2

Dies ist nicht spezifisch für Ihr Problem, aber ist leicht zu ändern, um Ihr Problem zu lösen ...

%Vor%     
RP2 29.10.2012 19:32
quelle
1

Versuchen Sie Folgendes:

%Vor%

Dies sollte mit Excel später als 2010 beginnen.

    
Hamed 30.07.2016 19:39
quelle
0

Dies funktionierte für mich, basierend auf der Antwort von JKirchartz

%Vor%     
CodeKid 13.08.2015 13:30
quelle
-1

Dies ist eine Teilantwort auf Ihre Frage. In Spalte 1 der folgenden Tabelle sind die 40 Standardfarben von Excel aufgeführt. Spalten 2, 3 und 4 listen die roten, grünen und blauen Komponenten jeder Farbe auf. Wenn also die Schriftart einer Zelle hell orange sein soll:

%Vor%

Wenn Sie eine andere Kombination aus Rot und Grün versuchen, wird Excel diese Farbe der nächsten dieser Standardfarben zuordnen, obwohl die Vorstellung von "nächstliegend" von Excel nicht mit meiner übereinstimmt.

Hoffentlich hilft das, wenn Sie den anderen Teil Ihrer Frage beantwortet bekommen.

%Vor%     
Tony Dallimore 19.03.2012 20:24
quelle