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

Text in Zelle farbig mit VBA - Code funktioniert nur bedingt

Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
16.01.2020 14:48:23
Elif
Hallo Zusammen,
ich habe exakt dasselbe Problem wie Julia vor einigen Jahren: https://www.herber.de/forum/archiv/1364to1368/1366183_bestimmter_Text_in_Zelle_farbig.html#1366183
Ich kenne mich mit VBA zwar nicht aus, habe es aber geschafft, den Code anzupassen und einzufügen. Wenn ich das Makro anwende, färbt er (wie bei bedingter Formatierung auch) eben den gesamten Textinhalt in der einen Farbe und differenziert innerhalb des Zellinhalts nicht.
Innerhalb der Zelle soll die Textfarbe für Strategie eben dunkelrot und für Tatkraft eben gelb sein wie im Farbcode unten angegeben. Aktuell färbt sich aber leider nur der komplette Zellinhalt rot und auf den Text "Tatkraft" reagiert er gar nicht.
Mache ich etwas falsch? Bricht das Makro ab, sobald er einen Text gefunden hat und ignoriert den Rest?
Bin dankbar für Eure Hilfe, da ich insgesamt noch 32 weitere Texte mit Farbcodes einbetten muss :-(
Ich verwende folgenden Code:

Sub FarbeNachStärken()
Dim rng As Range, i As Integer
For Each rng In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))  'in A
i = InStr(rng, "Strategie")
If i > 0 Then
rng.Characters(i, 4).Font.Color = RGB(133, 30, 46)
End If
i = InStr(rng, "Tatkraft")
If i > 0 Then
rng.Characters(i, 4).Font.Color = RGB(235, 145, 45)
End If
'etc
Next
End Sub

Danke, Elif

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
16.01.2020 15:30:22
Rudi
hallo,
es färben sich die ersten 4 Zeichen des Begriffs. (Characters(i, 4)
Gruß
Rudi
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
16.01.2020 15:51:01
Rudi
Hallo,
da ich insgesamt noch 32 weitere Texte mit Farbcodes einbetten muss
so wird das einfacher:
Sub aaaa()
Dim arrColors(1 To 34)
Dim arrText(1 To 34)
Dim rng As Range
Dim i As Integer, p As Integer
Application.ScreenUpdating = False
arrColors(1) = RGB(133, 30, 46)
arrColors(2) = RGB(235, 145, 45)
'etc.
arrText(1) = "Strategie"
arrText(2) = "Tatkraft"
'etc.
For Each rng In Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
rng.Font.Color = 0
For i = 1 To UBound(arrText)
p = InStr(rng, arrText(i))
If p Then
rng.Characters(p, Len(arrText(i))).Font.Color = arrColors(i)
End If
Next i
Next rng
End Sub

Gruß
Rudi
Anzeige
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
16.01.2020 17:03:02
Elif
Hallo Rudi,
vielen Dank für Deine schnelle Antwort.
Ich habe den neuen Code von Dir eben eingebettet, aber er funktioniert nicht. Vermutlich habe ich meinen Fall falsch beschrieben, sorry dafür.
Ich habe in einer verbundenen Zelle immer eine Anordnung von 5 Begriffen, die variieren können. Es werden also immer nur 5 Begriffe angezeigt von insgesamt 34, die zur Verfügung stehen. Die Begriffe fallen in unterschiedliche Farbgruppen, von denen es insgesamt 4 gibt.
Sprich, ich muss den Code so schreiben, dass er in meinem Arbeitsblatt folgende Bedingungen abklopft und die einzelnen Begriffe dann in der definierten Farbe ausspuckt.
Farbgruppe rot wäre bspw. RGB (133, 30, 46) und gilt für Begriffe Strategie, Analytisch, Kontext, usw. (insgesamt gibt es 8 Begriffe, die rot programmiert sind)
Farbgruppe gelb wäre RGB (235, 145, 45) und gilt für Begriffe Tatkraft, Autorität, Höchstleistung, usw. (insgesamt auch 8 Begriffe)
Farbgruppe lila wäre RGB (83, 36, 86) und gilt für Begriffe Arrangeur, Überzeugung, usw. (insgesamt 9 Begriffe) und zu Guter letzt die
Farbgruppe blau RGB (30, 74, 117) für die Begriffe Entwicklung, Positive Einstellung, Bindungsfähigkeit, usw. (insgesamt 9 Begriffe)
Wie gesagt kommen immer nur 5 Begriffe vor, die aus einer Quelldatei gezogen werden. Die Kombinationen können ganz unterschiedlich sein.
Noch etwas: wenn ich das Makro einfüge, gilt es doch für die gesamte Arbeitsmappe und nicht nur für eine definierte Zelle, oder? Sorry, bin leider ein VBA-Laie und freue mich riesig, wenn Du mir den Code basteln, bzw. vorgeben kannst, dass ich nur die Liste der Begriffe ergänzen muss.
Herzlichen Dank im Voraus.
Gruß, Elif
PS: würde gerne einen Screenshot hochladen, aber Bilddateien will er nicht hochladen, obwohl unter 300KB.
Anzeige
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
16.01.2020 17:05:14
Werner
Hallo,
auf ein Bild kannst du auch gerne verzichte, damit kann niemand was anfangen. Wenn, dann eine Beispielmappe hochladen.
Gruß Werner
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
16.01.2020 17:26:33
Elif
Ich würde gerne die .xlsm Datei hochladen, aber es funktioniert nicht, obwohl ich alle im Datei-Upload beschriebenen Regeln einhalte. Habe die Datei in diverse Ordner verschoben, kann ihn aber nicht auswählen (wird ausgegraut). Habe einen Mac, weiss nicht, ob es daran liegt?
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
16.01.2020 19:22:33
Rudi
Hallo,
die Datei darf nicht zu tief in der Struktur versteckt sein. Am besten im Root-Verzeichnis eines Laufwerks.
Gruß
Rudi
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
17.01.2020 14:00:42
Elif
Hallo Rudi,
all das habe ich beachtet und die Datei auch auf einem Root-Verzeichnis meines Macs abgelegt, aber ich kann die Datei nicht auswählen über die "Datei auswählen" Funktion. Andere Dateiformate wie bspw. .txt lässt er mich komischerweise auswählen. Ich bin langsam am Verzweifeln... gibt es keine andere Möglichkeit, Euch die Datei zukommen zu lassen? Bspw. per Email?
Ich komme einfach nicht weiter :-((((
Anzeige
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
17.01.2020 14:11:38
Werner
Hallo,
ob es da wegen dem Mac irgendwelche Probleme gibt weiß ich nicht.
Folgende Voraussetzungen müssen erfüllt sein:
-Datei nicht größer als 300 kb
-Datei nicht zu tief in Verzeichnissen "versteckt" am besten auf dem Desktop ablegen
-keine Umlaute im Dateinamen
-E-Mail Adresse und Passwort korrekt
-Haken bei den Datenschutzbestimmungen ist gesetzt
Gruß Werner
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
17.01.2020 14:27:28
Elif
Hallo Werner,
ich habe ALLE Anweisungen befolgt. Der Upload geht nicht, bzw. ich kann keine Excel-Dateien auswählen, auch wenn ich sie sehe.
Gibt es irgendeine andere Möglichkeit Euch die Datei zu senden? Ich habe es nun mehrmals versucht und alle Bestimmungen eingehalten. Auf diesem Weg funktioniert es nicht, warum auch immer.
Oder könnt ihr mir mit dem Code anhand meiner Beschreibung helfen - auch ohne die Datei?
Es muss doch einen anderen Lösungsweg geben?
Danke, Elif
Anzeige
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
17.01.2020 15:10:49
Mullit
Hallo,
lad die Datei auf ImageNetz hoch, der Hoster ist unverdächtig, was WerbeBanner und PopUps angeht, viell guckt da jemand rein...und nicht vergessen den Link hier dann einzustellen....
http://www.imagenetz.de/
Gruß, Mullit
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
17.01.2020 15:26:32
Elif
Vielen Dank Dir Mullit.
Habe die Datei hier hochgeladen: http://www.imagenetz.de/f3870f897/Namensschild.xlsm.html
Ich hoffe, dass mir jemand mit dem Code hilft.
Folgendes möchte ich mittels Makro lösen:
Ich habe in einer verbundenen Zelle (A3 und H3) immer eine Anordnung von 5 Begriffen, die variieren können. Es werden also immer nur 5 Begriffe angezeigt von insgesamt 34, die zur Verfügung stehen. Je nachdem, welcher Begriff angezeigt wird, kann er in 4 unterschiedlichen Farben auftreten. Insgesamt gibt es 4 Farben.
Ich muss den Code also so schreiben, dass er in meinem Arbeitsblatt folgende Bedingungen abklopft und die einzelnen Begriffe dann in der definierten Farbe ausspuckt.
Farbgruppe rot wäre bspw. RGB (133, 30, 46) und gilt für Begriffe Strategie, Analytisch, Kontext, usw. (insgesamt gibt es 8 Begriffe, die rot programmiert sind)
Farbgruppe gelb wäre RGB (235, 145, 45) und gilt für Begriffe Tatkraft, Autorität, Höchstleistung, usw. (insgesamt auch 8 Begriffe)
Farbgruppe lila wäre RGB (83, 36, 86) und gilt für Begriffe Arrangeur, Überzeugung, usw. (insgesamt 9 Begriffe) und zu Guter letzt die
Farbgruppe blau RGB (30, 74, 117) für die Begriffe Entwicklung, Positive Einstellung, Bindungsfähigkeit, usw. (insgesamt 9 Begriffe)
Wie gesagt kommen immer nur 5 Begriffe vor, die im Tabellenblatt 2 definiert werden. Die Kombinationen können ganz unterschiedlich sein.
Noch etwas: wenn ich das Makro einfüge, gilt es doch für die gesamte Arbeitsmappe und nicht nur für eine definierte Zelle, oder? Sorry, bin leider ein VBA-Laie und freue mich riesig, wenn Du mir den Code basteln, bzw. vorgeben kannst, dass ich nur die Liste der Begriffe ergänzen muss.
Herzlichen Dank im Voraus.
Gruß, Elif
Anzeige
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
17.01.2020 17:17:57
Elif
Ist es so in Ordnung mit dem Upload auf imagenetz? Kann es im Zweifelsfall am Abend nochmal von einem anderen Rechner probieren. Vielen Dank im Voraus
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
17.01.2020 19:28:13
Mullit
Hallo,
ja war alles ok, guck mal, ob Du damit was anfangen kannst, aber eines gleich vorweg, VBA und MAC vertragen sich nicht immer, ich hab selber keinen, also mal schauen...;-)
Ach ja Deine Formeln mussten rausfliegen, das geht bei Einzel-Char-Einfärbung nicht, das Verketten läuft jetzt auch über VBA...der Code steht im Tabellenblattmodul, dort mußt Du Deine Wörterlisten noch ergänzen...
https://www.herber.de/bbs/user/134491.xlsm
Gruß, Mullit
Anzeige
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
17.01.2020 19:54:07
Elif
Ohhh wie cool! Danke Dir, echt genial!
Eine Frage noch dazu: wo finde ich die Farbcodes? Du hast jetzt vermerkt "vb red" oder "vb blue". Ist das irgendwo hinterlegt? Müsste etwas mit den Farbcodes spielen, dass sie treffender sind.
Die Listen erweitere ich direkt in Anknüpfung zu den bereits bestehenden Begriffen, also in derselben Zeile wo auch "Strategie" etc. steht, oder?
Viiiiielen Dank :-)
Gruß, Elif
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
17.01.2020 20:11:24
Mullit
Hallo Elif,
ja das sind die VB-Farb-Konstanten, da gibt's nur 8 von, aber nimm einfach die RGB-Fabwerte, füg eine Farbe manuell in eine Zelle ein und lies die RGB-Fabwerte mit recht. Mausklick über Zelleig. aus, dann im Code:
'...
.Font.Color = RGB(112, 48, 160)
.Font.Color = RGB(244, 176, 132)
'...
...Ja genau in der Select-Case-Anw. fügst Du neue Wörter hinzu...
Gruß, Mullit
Anzeige
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
20.01.2020 12:03:33
Elif
Hallo Mullit,
es funktioniert alles fantastisch! Herzlichen Dank Dir und dem tollen Forum.
Beste Grüße,
Elif
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
20.01.2020 15:47:05
Elif
Hallo Mullit,
die Farben habe ich direkt per Farbcode eingeben können (lag mir ja bereits vor).
Nun wollte ich die Druckvorlage erweitern um weitere Namensschilder, die nach demselben Prinzip funktionieren. Allerdings ist der Code zu komplex für mich, als dass ich ihn durchschauen und ergänzen könnte um weitere Felder... :-(
Könntest Du einen letzten Blick auf die Datei werfen: http://www.imagenetz.de/f88d50863/134491.xlsm.html
Mein Ziel wäre die weiteren Seiten 2-20 im Tabellenblatt "Druckvorlage" mit den Zeileninhalten 3-21 im Tabellenblatt 2 zu füllen (natürlich nur, wenn Inhalte vorhanden sind).
Könntest Du den Code ergänzen, sodass ich 20 Personendaten in Tabellenblatt 2 einkopieren kann und mir die Druckvorlage darauf basierend 20 individuelle Namensschilder generiert? So könnte ich künftig 20 Namensschilder auf einmal ausdrucken und müsste nicht 20 einzelne Dateien generieren. Das wäre eine große Hilfe.
Beste Grüße und nochmal großes Dankeschön,
Elif
Anzeige
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
21.01.2020 12:09:13
Elif
Hallo Mullit,
also wenn ich im Tabellenblatt 2 die Zeilen einzeln einfüge (die Daten kopiere ich ja jedes Mal aus einer anderen Tabelle), dann überträgt das Makro sie sauber in die Druckvorlage. Wenn ich jedoch mehrere Zeilen einfüge - was eigentlich meine Intension für die Zukunft ist, um effizient zu sein - dann gibt er immer nur die oberste Zeile richtig wieder.
Sprich, wenn ich in Tab2 10 Personen einfüge, zeigt er mir in der Druckvorlage nur die erste Person richtig an.
Was Du auch versuchen kannst, um zu sehen, was ich meine: wenn Du im Tabellenblatt 2 alle Inhalte rauslöscht (A1:H21), dann leert er in der Druckvorlage nur das erste Namensschild. Bei den übrigen Schildern bleiben die alten Inhalte bestehen. Irgendwas scheint das Makro leider nicht ganz sauber zu übertragen.
Weisst Du, woran es liegt?
Gruß,
Elif
Anzeige
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
21.01.2020 15:12:48
Mullit
Hallo Elif,
Weisst Du, woran es liegt?

yup, dann teste mal...
https://www.herber.de/bbs/user/134592.xlsm
Gruß, Mullit
AW: Text in Zelle farbig mit VBA - Code funktioniert nur bedingt
21.01.2020 17:41:19
Elif
Genial!!! Alles funktioniert jetzt.
Mein größter Dank!!!!!!
Viele Grüße,
Elif
heiho, heiho, nu sind wir wieder froh..;-)...owT
21.01.2020 17:54:46
Mullit

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige