Teilstrings eines Formelergebnisses formatieren
#1
Hallo zusammen,

Ich bastele gerade an einer Tabelle, die ein IP-Adresskonzept visualisieren soll. In diesem Konzept werden Informationen binär verarbeitet. Einfach dargestellt könnte das so aussehen, dass im 3. Octett der IP-Adresse die ersten beiden Stellen den Standort symbolisieren, die nächsten beiden Stellen die Abteilung des Standortes und die letzten 4 Stellen die Aufgabe des Netzwerkes. Nun berechne ich aus dem Dezimalwert des Octetts den Binärwert und baue schon mal ein Leerzeichen nach 4 Stellen ein: =LINKS(DEZINBIN(A2;8);4)&" "&RECHTS(DEZINBIN(A2;8);4)
Doch gibt es jetzt eine Möglichkeit die ersten beiden Stellen in Rot darzustellen, die nächsten beiden in Blau und die letzten 4 in Grün, so dass das Ergebnis in etwa so aussehen könnte:
1001 1001

Niels
Top
#2
Hallo,

m.W. entweder von Hand oder mit vba cells(1,1).characters()

mfg
Top
#3
Genau...

Hier die ersten Beiden rot:
***.Characters(Start:=1, Length:=2).Font.Color = -16776961

Danach die Beiden blauen:
***.Characters(Start:=3, Length:=2).Font.ThemeColor = xlThemeColorAccent1

Und die letzten Vier grün:
***.Characters(Start:=6, Length:=4).Font.ThemeColor = xlThemeColorAccent6

EDIT: Datei hinzugefügt!

Zum Test einfach mal unter der Vorhanden Zahl weiter schreiben!
Code einzusehen mit ALT + F11 und dann links Tabelle1


Angehängte Dateien
.xlsm   Färben.xlsm (Größe: 14,89 KB / Downloads: 4)
Top
#4
Keiner von Euch beiden hat seine Antwort mit dem Halbsatz begonnen: "In Formeln geht das im Gegensatz zu Texteinträgen nicht, aber ...".

Das ist immer ganz erhellend.
Top
#5
Er fragte ja auch "gibt es jetzt eine Möglichkeit"!
Hätte er gefragt gibt es eine Formel dann wäre das was anderes :100:
Wenn es eine Formel geben würde, würde die doch als erstes hier stehen  :19:  HOFFE ICH!
Top
#6
Hallo,

Schau Dir das Betreff des Themas an.

Das ist auch mit VBA nicht möglich.
Darauf wollte Lupo Euch stoßen.
Das Aber hast Du ja jetzt beantwortet.
Gruß Atilla
Top
#7
Es gibt nur eine einfache Lösung, wenn die Formel permanent erhalten werden soll, Niels (& all);
die verschiedenfarbigen Ergebnisteile müssen auf verschiedene, ggf entsprechend schmale Zellen aufgeteilt werden. Dann ist das kein Problem und sollte für eine Visualisierung auch ausreichend sein.
Soll aber tatsächlich die komplette IP nur in eine Zelle, gibt's nur eine Lösung → (temporärer) Verzicht auf die Formel durch überschreiben mit ihrem Ergebnis. Dabei könnte mithilfe von VBA und einem (ggf unsichtbaren) Textfeld die Formel in selbiges ausgelagert werden. Es geht aber auch andersherum, so dass die Formel in der Zelle bleibt und ihr Ergebnis in einem permanent sichtbaren Textfeld steht. Das muss dann aber auch von der Zelle entkoppelt werden, damit sein Text formatiert werden kann. In beiden Fällen sollte das ein VBA-Programm übernehmen.
Andere Möglichkeiten sind auch nicht einfacher, aber ggf unkomfortabler.
Eine ganz andere Möglichkeit bestünde darin, nicht den Text, sondern den Zellhintergrund einzufärben. Das kann man mit Farbverlauf schaffen, allerdings auch nur mit VBA, weil ja mindestens 3 Farben benötigt werden, die sicher auch nicht ineinander verlaufen sollen, so dass die ColorStops entsprechend gesetzt werden müssten, was auch nicht so ganz einfach, aber möglich ist, wie dieses Beispiel zeigt.
Gruß, Castor
Top
#8
OK, Danke Leute. Ich dachte schon ich bin zu blöd, aber es geht also wirklich nicht. Schade, dass die Zellenformatierung auch nur mit Zahlen agiert. Ich bin kein Freund von verbundenen Zellen, aber hier scheint es wirklich keine andere Lösung zu geben.

verbundene Grüße
Niels
Top
#9
Ach ja, eine weitere Option wäre natürlich, die Werte über ein Makro zu berechnen und zu formatieren. Aber ohne Makro ist schon nicht schlecht - da gibt es keine Sicherheitswarnungen und die Makros müssen nicht aktiviert werden, wenn man die Datei weiter gibt.

Niels
Top
#10
Ohne Makro nein, mit Makro habe ich oben doch schon eine Beispieldatei!!!
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste