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

2-zeiliger Text mit unterschiedlicher Farbe ?

2-zeiliger Text mit unterschiedlicher Farbe ?
07.01.2014 15:30:55
Stefan
Hallo zusammen,
ich habe verschiedene Zellen, die einen 2-zeiligen Text enthalten (das ist bewusst so gewollt). Ist jemandem bekannt, ob man den Textzeilen per VBA unterschiedliche Farben verpassen kann ? Die Texte sind von der Länge her jedoch immer unterschiedlich.
Ich bin bisher leider nicht fündig geworden und hoffe hier auf Eure Hilfe.
Besten Dank im Voraus.
Gruß
Stefan

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Text mehrfarbig ...
07.01.2014 15:52:36
Matthias
Hallo
Besonders intensiv hast Du da aber nicht gesucht.
Benutze das Archiv gezielter.
Schreib mal in eine Zelle den Text:
ROT BLAU
und nun den Code ausführen: Sub RotBlau() ActiveCell.Characters(Start:=1, Length:=3).Font.Color = vbRed ActiveCell.Characters(Start:=5, Length:=4).Font.Color = vbBlue End Sub Einfach nach Deinem Zeilenumbruch suchen und diese Position in eine Variable schreiben und dann verwenden.
Das geht aber nur bei Text!
Bei eine Formel kannst Du nicht mehrfach formatieren
Gruß Matthias

Anzeige
AW: Text mehrfarbig ...
07.01.2014 19:17:29
Hajo_Zi
Hallo Stefan,
beachte aber bei Formeln geht das nicht.
Gruß Hajo

Wer lesen kann, ist klar im Vorteil ;-)
07.01.2014 19:26:44
Matthias
Hallo Hajo
Das geht aber nur bei Text!

Darauf hatte ich explizit hingewiesen!
Gruß Matthias

AW: Text mehrfarbig ...
08.01.2014 09:45:47
Stefan
Guten Morgen Matthias,
Danke für Deine Rückmeldung, manchmal sieht man den Wald vor lauter Bäumen nicht...
Sag mir bitte doch noch ergänzend, wie man denn in VBA "einfach" nach dem Zeilenumbruch suchen kann.
Das übersteigt leider meinen Kenntnisstand.
Besten Dank und Gruß
Stefan

Anzeige
RECHERCHE-Zeilenumbruch finden.....owT
08.01.2014 12:34:43
robert

AW: RECHERCHE-Zeilenumbruch finden.....owT
08.01.2014 13:54:07
Stefan
Lieber Robert,
Danke für den Hinweis. Bitte habe Verständnis für mich, denn meine VBA-Kenntnisse sind leider
noch bescheiden (sh. Level). Ich habe in der Recherche zwar verschiedene Hinweise gefunden:
InStr(text, chr(13)) und
Cells.Find(What:=Chr(13)
jedoch sagt mir das nur, an welcher Stelle der Absatz erfolgt. Wie ich eingangs schrieb, sind die Texte in den Zellen immer unterschiedlich lang. Man müsste also sagen können, 'formatiere den gesamten Text, der nach dem Umbruch steht. Leider weiß ich nicht, wie man das in VBA formulieren kann. Wäre nett, wenn Du noch eine Idee für mich hast.
LG
Stefan

Anzeige
OK, hab´s einigermaßen hinbekommen
08.01.2014 14:00:20
Stefan
Habe es jetzt als Beispiel erstmal so gelöst:
ActiveCell.Characters(Start:=InStr(ActiveCell, Chr(10)), Length:=40).Font.Color = vbBlue
Schön wäre es, wenn ich anstatt der Längenangabe (40 Zeichen) hier sagen könnte 'bis zum Ende",
aber egal.
Besten Dank und Gruß
Stefan

Probier mal das... Gruß
08.01.2014 14:02:39
robert

Sub Umbrch()  'Makro von Matthias L-angepasst um Zeilenumbruch
Dim text As String
Dim lng As Integer
text = ActiveCell
lng = InStr(text, Chr$(10))
ActiveCell.Characters(Start:=1, Length:=lng - 1).Font.Color = vbRed
ActiveCell.Characters(Start:=lng, Length:=99).Font.Color = vbYellow
End Sub

Anzeige
An Matthias' Bsp,aber mit Zeilenumbruch ...
08.01.2014 14:13:27
Luc:-?
…zwischen ROT und BLAU statt Leerzeichen, Stefan:
Sub RotBlau()
Dim pos As Long
With ActiveCell
pos = Instr(.Value, vbCrLf)
.Characters(Start:=1, Length:=pos - 1).Font.Color = vbRed
.Characters(Start:=pos + 1).Font.Color = vbBlue
End With
End Sub
Evtl muss statt vbCrLf nur vbCr bzw vbLf verwendet wdn. Letztere sind mit Chr(13) bzw Chr(10) identisch, Ersteres ist ihre Kombination.
Allerdings hat robert recht – so etwas hättest du auch im Archiv bzw der VBE-Hilfe finden können! Recherche und Eigeninitiative wird hier lt Forumsregeln vorausgesetzt!
Gruß Luc :-?

Anzeige
Vielen Dank, ... aber...
08.01.2014 14:46:24
Stefan
Vielen Dank an Euch alle. Damit bekomme ich es sicher hin.
Ich bitte auch vielmals um Entschuldigung, dass ich Eurer Meinung nach nicht intensiv genug nach der Lösung gesucht habe, sondern dass ich es mir einfach gemacht habe und im Hilfeforum nach Hilfe gefragt habe.
Nächstes Mal überlege ich genauer, ob es würdig ist, einen Beitrag zu schreiben.
LG
Stefan

Na das klingt nach beleidigter Leberwurst ;-)...
08.01.2014 15:16:34
robert
Hi,
nur eine Frage:
gehst Du zB. in einen Tennisklub und spielst drauf los, oder
solltest Du zuerst die Klubregeln lesen ?
Genauso ist es hier-es gibt Regeln und letztendlich lernst Du mit
fertigen Lösungen weniger, als wenn Du Eigeninitiative ergreifst.
Aber das soll dich nicht davon abhalten weiterhin Fragen zu stellen :-)
Gruß
robert

Anzeige
Aber ... aber ... nicht gleich Kopf in Sand ;-)
08.01.2014 15:57:46
Matthias
Hallo
Du kannst doch auch ganz einfach per Formel den Zeilenumbruch finden.
Tabelle1

 BCD
1 Zeilenumbruch (Anzahl)Position vom 1.Zeilenumbruch
2Text mit variablen
Umbruch
120

Formeln der Tabelle
ZelleFormel
C2=LÄNGE(B2)-LÄNGE(WECHSELN(B2;ZEICHEN(10);""))
D2=WENN(C2>0;FINDEN(ZEICHEN(10);B2);)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


Das wäre dann der Code den Du jeweils hinter ein Button legen kannst
Option Explicit
Sub RotBlau()
Range("B2").Characters(Start:=1, Length:=Range("D2") - 1).Font.Color = vbRed
Range("B2").Characters(Start:=Range("D2") + 1, Length:=Range("D2") - 1).Font.Color = vbBlue
End Sub
Sub BlauRot()
Range("B2").Characters(Start:=1, Length:=Range("D2") - 1).Font.Color = vbBlue
Range("B2").Characters(Start:=Range("D2") + 1, Length:=Range("D2") - 1).Font.Color = vbRed
End Sub
Sub autoColor()
Range("B2").Font.ColorIndex = xlAutomatic
End Sub
Und nicht gleich beleidigt sein! ;-)
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige