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

Formeln basierend auf Formate

Formeln basierend auf Formate
01.06.2016 09:08:57
Juliane
Guten Morgen,
ich habe das Problem, dass ich einen automatischen Bericht aus einem System weiter verwenden möchte. Allerdings hat der in der einen Spalte ("Status") den Nachteil, dass er direkt den Status über eine Farblogik ausgibt: Sprich, da ist ein viereckiges Symbol drin, dass entweder die Schriftfarbe grün, gelb oder rot einnimmt.
Ich müsste jetzt eigentlich damit "weiter rechnen". Abes es gibt keine Formeld, die mit eine Formatierung in Werte umwandelt oder? Also quasi, wenn Schriftfarbe = rot, dann schreibe mir eine 0 rein. Wenn = grün, dann schreibe mir eine 1 rein.
Alternativ: Gibt es zumindest die Möglichkeit diesen Status auf einem anderen Reiter im gleichen Format auszugeben? D.h. gibt es eine Formel analog einer simplen A1=B1 formel, die aber nicht nur den Wert, sondern auch das Format mit übernimmt?
VG und besten Dank

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formeln basierend auf Formate
01.06.2016 09:16:18
selli
hallo juliane,
der status wird doch, deiner schilderung zu folge auch über eine bedingung dargestellt.
wenn der bericht nicht nur ein bild ist, dann sollte es möglich sein diese bedingung abzugreifen.
zeig doch mal so einen bericht.
gruß
selli

AW: Formeln basierend auf Formate
01.06.2016 09:35:07
Juliane
Also ich habe auch schon gesucht und keine Bedingung gefunden. Ich habe das Gefühl, dass der Bericht im System eben bereits schon so erstellt wird, dass dann nur noch die Formatierung der Schrift übrig bleibt.
https://www.herber.de/bbs/user/105899.xlsx

Anzeige
AW: Formeln basierend auf Formate
01.06.2016 11:04:42
selli
hallo juliane,
ein wenig spät von mir, deshalb verweise ich an fennek.
anders geht es in diesem fall wirklich nicht.
gruß
selli

AW: Formeln basierend auf Formate
01.06.2016 11:09:46
Juliane
Ok. Puh. Ganz neues Feld für mich ...
Was ist denn besser: die Lösung über das vorgeschlagene Makro oder über diese Sache mit der Namensdefinition?
Also besser im Sinne von Rechenleistung, Fehleranfälligkeit etc.

AW: Formeln basierend auf Formate
01.06.2016 11:26:27
Daniel
Hi
in Sachen Performance dürfte sich das nicht viel geben.
das Grundproblem ist auch für beide gleich: das Ändern einer Zellfarbe löst keine Neuberechnung der Formel aus.
der Weg mit Zelle.Zuordnen hat gegenüber der Makrolösung zwei Nachteile:
1. du ermittelst nicht die Farbe selbst (COLOR) sondern den COLORINDEX, eine Zahl zwischen 1 und 56.
ist ein Relikt aus alten Exceltagen, als Excel auf einem Blatt maximal 56 verschiedene Farben verwenden konnte: Es gab eine Zuordungstabelle mit 56 Plätzen, jedem Platz war eine RGB-Farbe zugeordnet. Man hat dann die Farbe über die Indexnummer aus dieser Zuordunungtabelle zugewiesen.
das ist aus kompatibilitätsgründen immer noch vorhanden und kann verwendet werden, hat aber zur Folge, dass bei der Ermittlung des Index für unterschiedliche aber ähnliche Farben u.U. die selbe Indexnummer ausgegeben wird. (das sollte bei Signalfarben wie rot-grün-gelb aber nicht passieren)
2. du kannst bei Zelle.Zuorden keine Parameterübergabe machen und kannst somit auch die Zelle, die ausgelesen werden soll nicht frei angeben.
dh du musst dich in der Formel für Zelle.Zuordnen für einen Zellbezug festlegen (z.B. linke Nachbarzelle) und wenn du einen weiteren brauchst, musst du einen neuen Namen dafür erstellen.
der Nachteil der Makrolösung ist, dass du VBA und Makroprogrammierung in Grundzügen beherrschen mussst, während die Erstellung eines Namens im Prinzip noch erweitertes Excelbasiswissen ist.
Gruß Daniel

Anzeige
AW: Formeln basierend auf Formate
01.06.2016 11:16:42
Juliane
Und was ist mit meiner 2 Frage: Gibt es auch keine Formel in der ich sagen kann, übernimmt denn Inhalt und das Format aus Zelle X?

AW: nein, geht mit Formel so nicht owT
01.06.2016 11:20:31
...
Gruß Werner
.. , - ...

AW: Formeln basierend auf Formate
01.06.2016 11:31:42
selli
hallo juliane,
formate lassen sich mit herkömmlichen formeln nicht "auslesen".
in wie weit harys lösung für deine anwendung funktioniert, musst du mal eben ausprobieren.
was die rechenleistung betrifft, kenne ich natürlich auch nicht die menge an daten, die du hier gleichzeitig verarbeiten möchtest.
in aller regel dürften die beiden wege durchaus mit heutigen rechnern problemlos bewältigt werden.
ich sehe da keine schwierigkeiten.
du solltest für dich die methode wählen, die du am einfachsten umsetzen kannst (wenn du eine zeitnahe lösung brauchst). andererseits ist es immer auch wünschenswert, wenn man versteht, was da so gerechnet wird und die frage, ob du dir das draufziehen möchtest.
gruß
selli

Anzeige
AW: Formeln basierend auf Formate
01.06.2016 09:29:56
Fennek
Hallo,
angenommen, die Zelle ist gefärbt, dann kann mit vba

if cells(1,1).interior.color = Farbnummer then
cells(1,1) = 1
end if
die Farbe in eine Zahl in der Zelle umgesetzt werden.
mfg

AW: Formeln basierend auf Formate
01.06.2016 09:37:19
Juliane
Hallo,
es ist nicht die Zelle gefärbt sondern anscheinend nur die Schrift in der Zelle

AW: Formeln basierend auf Formate
01.06.2016 10:00:22
Fennek
Hallo,
dann

if cells(1,1).font.color = Farbnummer then
cells(1,1) = 1
end if
mfg

AW: Formeln basierend auf Formate
01.06.2016 10:06:16
Juliane
Ok, danke. Ich kenne mich nciht weiter mit VBA aus. Aber anscheinend gibt es wohl kein Weg drumherum...
Na mal schauen, ich probiere es mal.

Anzeige
AW: Formeln basierend auf Formate
01.06.2016 11:00:34
hary
Moin
Du kannst es auch ueber Excel4Makro loesen.
Name definieren. Mappe muss als xlm abgespeichert werden.



Tabelle2
 A
2 
30
4 
5 
61
7 
8 
91
10 
11 
12 
13 
141

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
A2:A14=WENNFEHLER(WAHL((Format+0*JETZT())-25;;1;;;;0);"")  =IFERROR(CHOOSE((Format+0*NOW())-25,,1,,,,0),"")

definierte Namen  
Name Bezieht sich auf Tabelle Z1S1-Formel
Format=ZELLE.ZUORDNEN(24;Tabelle1!G4) =GET.CELL(24,Tabelle1!R[2]C[6])

http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://hajo-excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 14.02 einschl 64 Bit

gruss hary

Anzeige
Hast du dir das so vorgestellt, Jenny?
01.06.2016 14:00:39
Luc:-?
Userbild
Relevant sollten hier für dich die beiden linken Spalten sein. Der Rest ist Deutungszugabe.
Das Ganze setzt natürlich voraus, dass die Status-Daten stets so geliefert und nicht nachträglich geändert wdn, denn das löst nur dann eine automatische Änderung aus, wenn das neue FarbSymbol aufkopiert und nicht einfach nur seine (Schrift-)Farbe geändert wird.
Die beiden in Spalte B verwendeten UDFs gibt's nur bei wirklichem BedarfsInteresse.
Gruß, Luc :-?
Besser informiert mit …

Anzeige
Oh Gott, natürlich Juliane? owT
01.06.2016 14:05:00
Luc:-?
:-?

AW: Oh Gott, natürlich Juliane? owT
01.06.2016 16:36:25
Juliane
Hallo Luc,
das sieht sehr itneressant aus. Genau so, wie es bei dir in Spalte B ist, sollte es bei mir sein. Ich verstehe allerdings überhaupt nicht wie die Formel in Spalte B funktioniert. Brauche ich denn für diese die Werte in Spalten C bis F überhaupt?
Nun gut, ich werde morgen wenn ich wieder am Arbeitsplatz bin das eifnach mal stumpf kopieren und gucken ob es klappt.
In der Tat handelt es sich um einen autoamtischen Bericht. Von daher ist das Ausgabeformat eigentlich immer gleicht.
Was meisnt du mit "Die beiden in Spalte B verwendeten UDFs ..." - was ist UDF?
LG

Anzeige
Eine UDF ist eine Funktion, die NICHT im ...
01.06.2016 19:32:01
Luc:-?
…normalen Xl-Umfang enthalten ist, Juliane,
sondern mit VBA selbst pgmmiert wurde (hier von mir), aber genauso wie eine Xl-Standard-Fkt in ZellFmln einsetzbar ist.
Die UDF TxEval ist der XLM-Fkt AUSWERTEN vglbar, die allerdings nur in benannten Fmln angewendet wdn kann (Namen definieren und im Bezug desselben die Fml notieren). Der Name kann dann in weiterführenden ZellFmln angewendet wdn. Während AUSWERTEN aber nur lokale (deutsche) FmlTexte auswerten kann, benötigt die UDF diese in US-Original-Notation, weil sie intern der vbFkt Evaluate übergeben wdn.
Die UDF FontColor ermittelt ähnlich wie die XLM-Fkt ZELLE.ZUORDNEN (nur in benannter Fml!) die SchriftFarbe, allerdings nicht den FarbIndex, sondern den FarbWert, was ab Xl12/2007 besser ist. Da die UDF im Ggsatz zur XLM-Fkt dabei auf die .DisplayFormat-Eigenschaft der Zelle zugreift, kann sie erst ab Xl14/2010 eingesetzt wdn (vorher gab's keine Zugriffsmöglichkeit darauf bzw diese Eigenschaft nicht). Dafür fktioniert das dann auch bei Farben aus BedingtFormatierung (die XLM-Fkt ist dafür zu alt → Xl4).
MS hat allerdings die Auswertung dieser Eigenschaft per UDF in einer ZellFml unterbunden. Würde man diese Fkt solo als Fml notieren, erhielte man als Ergebnis nur #WERT!. Deshalb muss hier ein FmlText verwendet wdn, der die andere UDF zur Auswertung erfordert, wodurch diese künstliche Sperre umgangen wdn kann. Da sich die MS-Pgmmierer aber etwas bei diesen Einschränkungen gedacht haben, sollte man diese Umgehung nicht überstrapazieren.
Du hast natürlich recht und ich schrieb es auch, nur Spalten A:B sind relevant. Die anderen zeigen nur, was passiert bzw noch möglich wäre; u.a. ging's mir dabei darum, zu zeigen, dass dein Gelb kein reines Gelb ist.
Wenn du das also wirklich anwenden willst, stelle ich auf deinen Wunsch noch die beiden UDFs ein. Beachte aber bei Weitergabe deiner Mappe, dass jeder Anwender VBA zugelassen haben und die Datei als .xlsm oder .xlsb gespeichert wdn muss, falls die UDFs (wie Makros) in der Mappe enthalten sind. Anderenfalls musst du vor Weitergabe die Fmln mit ihren Ergebniswerten überschreiben (kopieren und als Wert einfügen).
Luc :-?

Anzeige
Nachtrag zu Tabelle1
02.06.2016 03:06:22
Luc:-?
Aus deiner Tab1 geht hervor, dass es sich sogar um 4 Farben handelt, Juliane,
Rot (&hFF=255), 50%iges Grün (&h8000=32768), 91%iges Gelb (&hE8E8=59624) und 33%iges Grau (&hAAAAAA=11184810). Für Rot und Grün hast du 0 bzw 1 als Index vorgegeben, für die beiden anderen Farben nichts.
Es gab mal eine Möglichkeit, mittels benutzer­definiertem ZahlenFormat auch andere als die mit FarbNamen angebbaren 8 StandardFarben zu verwenden, wodurch man die farbigen Symbole durch Zahlen ersetzen könnte, die dann wieder als (original-)farbige Symbole angezeigt würden. Ich kann mich aber nicht mehr erinnern, wie das damals genau fktionierte (die anderen Farben!). Aber das könnte man auch mit BedingtFormatierung erreichen. Das ist aber nur sinnvoll, wenn mit diesen Zahlen in irgend­einer Weise auch gerechnet wdn soll. Geht's nur um die Filterung der Spalte G, kann ja auch nach Farben gefiltert wdn, was bei der originalen DirektFärbung auch gut fktioniert, was man von den per benutzer­definiertem Format einheitlich anstelle der Zahlenwerte gezeigtem und bedingt gefärbtem Symbol nicht behaupten kann. Der FarbFilter wird hier nur bei wenigstens 2 unter­schiedlichen Texten aktiviert und das auch nicht zuverlässig und mit allen SchriftFarben.
Das alles muss man berücksichtigen, will man sich für die optimale Variante entscheiden.
Morrn, Luc :-?

Anzeige
AW: Nachtrag zu Tabelle1
02.06.2016 07:29:51
Juliane
Guten Morgen,
ja in der Tag, ich will damit weiterrechnen. Also an anderen Stellen Bedingungen / Pivot / Formeln etc. auf meine Tabelle anwenden können.
Und ja das stimmt, es sind 4 Farben. Jede würde ich gern eine Zahl von 0 bis 3 zuweisen; ich hatte das hier lediglich utnerschlagen, um überhaupt erst einmal rauszubekommen, was prinzipiell möglich wäre.
LG

AW: Nachtrag zu Tabelle1
02.06.2016 09:06:58
selli
hallo juliane,
dann ganz einfach:
Function FNTCLR(ding As Range)
FNTCLR = ding.Font.Color
End Function
das ist eine eigene funktion, die du in ein normales modul deiner arbeitsmappe schreibst.
anschl. kannst du (wenn in A1 dein gefärbtes kästchen ist) in b2 mit der formel =FNTCLR(A1)
die farbe der schrift auslesen.
dann kann man das ganze noch erweitern:
=wenn(FNTCLR(A1)=59626;"gelb";"nicht gelb")
gruß
selli

AW: Nachtrag zu Tabelle1
02.06.2016 10:45:23
Juliane
Hat geklappt. Vielen Dank.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige