Registriert seit: 01.08.2014
Version(en): 2013
Hallo Leute,
ich brauche mal wieder eure Hilfe. Ich benutze Excel für meine Vokabellisten. Nun ist es so, dass ich z.B. die -ing Form farblich hervorheben möchte. Das Problem ist dabei, dass ich die ganzen Wörter farblich hervorheben möchte und nicht nur das -ing hinten dran. Damit muss die Suche also bis zu einem bestimmten Grad variabel sein.
Ihr habt da bestimmt wieder einen tollen Profi-Rat parat.
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi Lore, das geht mit bedingter Formatierung. Ist das hier nach deinen Vorstellungen? Tabelle1 | A | 1 | singing | 2 | shining | 3 | trainee | 4 | trying | 5 | laughing | 6 | laugh | Bedingte Formatierungen der Tabelle | Zelle | Nr.: / Bedingung | Format | A1 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc | A2 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc | A3 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc | A4 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc | A5 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc | A6 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc |
| Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 11.04.2014
Version(en): 2003/2007/2013 (bei Bedarf auch noch '97/2000/2010)
Hi Günter, hat Dir die Jeanie einen Streich gespielt oder was ist bei der Tabellendarstellung passiert: Alle Bedingten Formatierungen in A1:A6 referieren auf A1 und das kann im wirklichen Leben wohl kaum funktionieren (ich vermute, die Jeanie hat nur die BF aus A1 ausgelesen). So wäre es wohl richtiger: Arbeitsblatt mit dem Namen 'Tabelle1' | | A | 1 | singing | 2 | shining | 3 | trainee | 4 | trying | 5 | laughing | 6 | laugh |
Zelle | bedingte Formatierung... | Format | A1 | 1: =RECHTS(A1;3)="ing" | abc | A2 | 1: =RECHTS(A2;3)="ing" | abc | A3 | 1: =RECHTS(A3;3)="ing" | abc | A4 | 1: =RECHTS(A4;3)="ing" | abc | A5 | 1: =RECHTS(A5;3)="ing" | abc | A6 | 1: =RECHTS(A6;3)="ing" | abc |
Überlegen macht überlegen Gruss aus dem schönen Hunsrück _______ Klaus-Martin _______
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi Klaus-Martin, warum das so bei mir angezeigt wird, entzieht sich meiner Kenntnis. Denn auch bei einem neuen (jungfräulichem) Arbeitsblatt macht die Jeanie genau das gleiche: Tabelle2 | A | 1 | singing | 2 | shining | 3 | trainee | 4 | trying | 5 | laughing | 6 | laugh | Bedingte Formatierungen der Tabelle | Zelle | Nr.: / Bedingung | Format | A1 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc | A2 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc | A3 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc | A4 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc | A5 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc | A6 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc |
| Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 11.10.2014
Version(en): 12/2007&14/2010
Das ist ja so auch iO, Leute; die Jeanie scheint auf dem neuesten Stand zu sein. Ab Xl12 steht in jeder Zelle die gleiche BedingtFormat-Regel-Formel ohne das relative Adressen angepasst werden. Das macht Xl jetzt nur noch intern, was den Vorteil hat, dass diese Adressen bei Wiedergabe in einer Zelle (zB mit einer UDF) nicht verfälscht werden wie das bei analogen Namensbezügen der Fall ist. Gruß, Castor
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi @all, ich habe den Grund für den Unterschied zwischen der Anzeige von Klaus-Martin und mir gefunden. In meinen beiden Beispielen habe ich jeweils den kompletten Bereich markiert und in der bF meine Formel eingegeben. Danach den Bereich der Jeanie übergeben und eingestellt. Das Ergebnis: lt. Anzeige Referenz auf die gleiche Zelle A1. Nachdem mir das Ganze keine Ruhe gelassen hat, habe ich nun nur die Zelle A1 markiert, die bF eingesetzt und mit dem Formatpinsel die restlichen Zellen in die bF mit einbezogen. Das Ergebnis: Tabelle3 | A | 1 | singing | 2 | shining | 3 | trainee | 4 | trying | 5 | laughing | 6 | laugh | Bedingte Formatierungen der Tabelle | Zelle | Nr.: / Bedingung | Format | A1 | 1. / Formel ist =RECHTS(A1;3)="ing" | Abc | A2 | 1. / Formel ist =RECHTS(A2;3)="ing" | Abc | A3 | 1. / Formel ist =RECHTS(A3;3)="ing" | Abc | A4 | 1. / Formel ist =RECHTS(A4;3)="ing" | Abc | A5 | 1. / Formel ist =RECHTS(A5;3)="ing" | Abc | A6 | 1. / Formel ist =RECHTS(A6;3)="ing" | Abc |
| Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 01.08.2014
Version(en): 2013
Hallo Leute, vielen Dank für eure Lösungsvorschläge. Aber ich brauche eine reine VBA Lösung. Auch hätte ich mich besser ausdrücken sollen. In den Listen stehen ganze Sätze. D.h. wenn in einer Zelle ein Wort mit einer -ing Form vorkommt soll das entsprechende Wort innerhalb des Satzes farblich markiert werden. Ich hoffe jemand bekommt das hin. Wäre einfach super.
Aber nochmals sehr vielen Dank für eure Bemühungen auch da habe ich wieder etwas gelernt.
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi Lore,
es wäre wirklich schön, wenn du dein Problem ordentlich beschreiben würdest und auch ganz klar schreibst, was du haben willst.
Warum muss es unbedingt eine VBA-Lösung sein? Kann in einer Zelle mehr als ein Wort auf die Endung "-ing" vorkommen?
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Lore, ich habe einen kurzen VBA-code geschrieben und mit diesem Satz getestet: Mein Pinguin frisst einen Breitling, gestern trug er einen Nasenring. Pinguin bleibt schwarz, Breitling und Nasenring werden einschl. der Satzzeichen rot. Wenn Du bestimmte Worte ausschließen willst, müsste man diese entsprechend definieren und Verarbeiten. Der Nasenring ist ja eventuell kein ing - Wort im Sinne der Aufgabe, ein abgekürzer Diploming. eher auch nicht ... Code: Sub test() 'Variablendeklarationen 'Integer Dim iCnt As Integer, iPos As Integer, iLen As Integer 'Variant Dim arrSatz 'Objekte Dim oZelle As Range 'Startpos. festlegen iPos = 1 'Schleife ueber alle belegte Zellen in Spalte A For Each oZelle In Range(Cells(1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1)) 'Zellinhalt uebernehmen und zerlegen arrSatz = Split(oZelle, " ") 'Schleife ueber alle Worte For iCnt = 0 To UBound(arrSatz) 'Laenge des Wortes ermitteln iLen = Len(arrSatz(iCnt)) 'Ab dem zweiten Wort die Anfangsposition des Wortes berechnen If iCnt > 0 Then iPos = iPos + Len(arrSatz(iCnt - 1)) + 1 'Wenn ein Wort mit ing aufhoert, dann 'Beachte eventuelle Satzzeichen nach dme ing - bei Bedarf erweitern If Right(arrSatz(iCnt), 3) = "ing" Or _ Right(arrSatz(iCnt), 4) = "ing," Or _ Right(arrSatz(iCnt), 4) = "ing." Then 'Mit den Zeichen der Zelle vom Anfang bis Ende des Wortes With oZelle.Characters(Start:=iPos, Length:=iLen).Font 'Farbe setzen .Color = -16776961 'Ende Mit den Zeichen der Zelle vom Anfang bis Ende des Wortes End With 'Ende Wenn ein Wort mit ing aufhoert, dann End If 'Ende Schleife ueber alle Worte Next 'Ende Schleife ueber alle belegte Zellen in Spalte A Next End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 11.10.2014
Version(en): 12/2007&14/2010
He, Günter; warum machst du das, nur um die Jeanie zu überlisten? Das ist nicht das übliche Verfahren ab Xl12! Sieh dir mal die Regeln in einer einzelnen Zelle eines mehrzelligen BedingtFormats an! Das ist jetzt eben so und alle Rumtrickserei sinnlos, weil sie nur einen falschen (nostalgischen) Eindruck erweckt. Ja, Lore, das geht nicht mit BedingtFormat, aber mit VBA-gestützter DirektFormatierung der Zelle. Wieviel Ahnung hast du von VBA? Vielleicht reicht dir bei entsprd Vorkenntnissen ja der Hinweis auf die Characters-Methode. Dazu kannst/musst du mit ZellInhaltsVgl über den Operator Like mit "*[a-z]ing *" (wobei neben Leerzeichen auch diverse Satzzeichen infrage kommen könnten, also dann "*[a-z]ing[ ,.;:]*") oder per RegularExpressions feststellen, ob die Zelle/der Satz infrage kommt, dann zyklisch in diesem mit Instr(…, "ing") die jeweilige ing-Position ermitteln und dabei sowohl irrelevante ing ausschließen als auch von relevanten ausgehend den jeweils dazugehörenden Wortanfang finden und dann die Wortlänge ermitteln. Beide Parameter werden für Characters benötigt, um diesen Teil des Satzes um-/einzufärben. Das Programm wird also etwas länger…  Gruß, Castor
|