MS Excel - Bestimmtes Wort rot markieren
Kann man in Excel folgendes machen und wenn ja wie?:
Ich habe in Zelle A1 einenen Text. In dem Text ist das Wort "Haus" vier mal enthalten und jedes Wort "Haus" soll rot markiert werden. Also nur das Wort "Haus" rot und alle Zahlen in dem Text grün markiert.
Wie mach ich das?
3 Antworten
Mit einer Funktion bekommst Du das imho NICHT hin.
Höchstens mit einem VBA Code, aber auch das ist für mich fraglich.
Excel ist halt keine Textverarbeitung.
Kannst du mir schreiben wie ich das als leihe anstellen kann bitte?
DA sehe ich das Problem.
Da mich das interessiert habe ich mal einen Code zusammengebastelt (lässt sich bestimmt noch optimieren und verbessern, ist nur ein Entwurf):
Sub HausRot()
Dim intStelle1 As Integer
Dim intStelleN As Integer
On Error Resume Next
intStelle1 = Application.WorksheetFunction.Find("Haus", ActiveCell, 1)
If intStelle1 = 0 Then Exit Sub
Do
ActiveCell.Characters(Start:=intStelle1, Length:=4).Font.ColorIndex = 3
intStelleN = Application.WorksheetFunction.Find("Haus", ActiveCell, intStelle1 + 1)
If intStelle1 = intStelleN Then Exit Do
intStelle1 = intStelleN
Loop
End Sub
Dieser Code markiert jedes Vorkommen von Haus in der AKTIVEN Zelle rot.
(Alle Zahlen grün wird schwieriger).
Ich weiß nicht, ob es ratsam ist so etwas als "Leihe" zu nutzen.
Wenn Du es ausprobieren willst, mache eine Sicherheitskopie Deiner Datei, und klicke dann mit Rechts auf den Tabellenreiter (unten, wo z.B. Tabelle1 steht).
Dann "Code anzeigen"
In den VBA-Editor, der sich dann öffnet, kopierst Du den obigen Code.
Den Editor kannst Du dann wieder schließen.
Jetzt markierst Du die Zelle, die Du bearbeiten willst.
Dann (in Excel 2010) auf:
Ansicht/ Makros/ Makros
und da Tabelle1.HausRot (oder wie Deine Tabelle heißt) markieren und: Ausführen.
(in den alten Excel Versionen findest Du das glaube ich unter Extras/ Makros)
Dann sollten die "Häuser" rot sein.
Teste das Ganze mal ausführlich.
Dieser Code macht nur genau die "Häuser" rot.
Er lässt sich anpassen und erweitern, aber dazu muss man zumindest eine "Idee von VBA-Programmierung haben". Deshalb weiß ich nicht, ob Dir das etwas nützt.
Der blöde Editor hier hat mich mal wieder überlistet.
In dem Code fehlt ein Zeilenumbruch.
SO ist er richtig:
Sub HausRot()
Dim intStelle1 As Integer
Dim intStelleN As Integer
On Error Resume Next
intStelle1 = Application.WorksheetFunction.Find("Haus", ActiveCell, 1)
If intStelle1 = 0 Then Exit Sub
Do
ActiveCell.Characters(Start:=intStelle1, Length:=4).Font.ColorIndex = 3
intStelleN = Application.WorksheetFunction.Find("Haus", ActiveCell, intStelle1 + 1)
If intStelle1 = intStelleN Then Exit Do
intStelle1 = intStelleN
Loop
End Sub
Wow , danke! Ich hoffe bei igrentwelchen anderen Fragen kann ich dich auch mal Fragen :)
Wie entferne ich so einen Makros Befehl ?
Code anzeigen und dann markieren und löschen.
Oder was meinst Du?
Freut mich, dass es Dir hilft ☼
Danke fürs ☆
Ich schaue meist täglich hier rein, und wenn Du als Thema Excel angibst, "stolpere" ich auch darüber.
Ich meine wenn ich einem Text diesen Makro eingesetzt habe und es nur wieder weg haben will. Reicht da Code anzeigen und löschen ?
da könnte ein Missverständnis vorliegen: Der Code wird nicht im Text eingefügt, sondern im Editor, der sich öffnet, wenn Du im Kontextmenü der Blattfahne (Reiter, aber unten) auf "Code anzeigen" klickst. Wenn du aber die Wirkung auf den Text meinst: Kopiere die Zelle, füge sie woanders mit inhalte einfügen -werte ein, kopiere sie wieder und füge sie an der ersten Stelle wieder ein. In Formeln geht übrigens keine farbliche Markierung, auch wenn die Formel Text zusammenstückelt.
Lamiam hat das sehr gut erklärt.
Wenn Du den Text der aktiven Zelle wieder schwarz haben willst, musst Du dieses Makro laufen lassen:
Sub TextSchwarz()
ActiveCell.Font.ColorIndex = xlColorIndexAutomatic
End Sub
Klappt es?
entsprechenden textabschnitt markieren und bei schriftfarbe oben in der leiste die gewünschte farbe auswählen
Das soll Excel selbst machen mit hilfe einer Wenn Funktion oder ähnlichem?!
Keine Ahnung, aber ich denke nicht, dass das mit einzelnen Wörter in einer Zelle funktioniert. Zumindest nicht in Excel.
Ich habe nochmal geschaut, per VBA müsste das möglich sein.