| |
| Xometry verstärkt sein Angebot für die Blechbearbeitung: Mehr Fertigungsoptionen und bessere Sofort-Angebote, eine Pressemitteilung
|
Autor
|
Thema: Ab 80 Zeichen alle folgenden rot einfärben (mit bedingter Formatierung)... (15232 mal gelesen)
|
bgischel Ehrenmitglied V.I.P. h.c. ...und Dippel-Ing ET...
Beiträge: 15740 Registriert: 09.03.2001 Excel(lent) 2002 SP3
|
erstellt am: 26. Jun. 2009 11:15 <-- editieren / zitieren --> Unities abgeben:
Werte Excelgemeinde... ich habe mich eben durch die Suche gekämpft (bedingte Formatierung, einfärben, Zeichenketten und ähnliche Suchbegriffe) aber nicht wirklich etwas passendes für mich gefunden (ausser wie man den letzten Arbeitstag im Monat bestimmen kann - was es so alles gibt mit Excel ) daher muß ich meine Frage doch los werden. ### Ich habe eine Tabelle wo in meinen Zellen verschieden lange Einträge sind. Das kann sich um Texteinträge und auch um gemischte Zeichenketten handeln. Ich möchte nun mit Excel folgendes umsetzen: Excel soll in die Zelle gucken, bis zum achtzigsten (80) Zeichen zählen und ab dem einundachtzigsten (81) Zeichen mir dann alles rot einfärben (siehe Bildchen). Ausgeguckt habe/hatte ich mir die bedingte Formatierung aber irgendwie macht Excel natürlich nicht das was ich möchte. D.h., Excel färbt mir ab dem einundachtzigsten (81) Zeichen nix ein. Im Bildchen ist nur meine Wunschvorstellung zu sehen (mal per Hand eingefärbt). Ich vermute das mit der Funktion LÄNGE irgendwas nicht paßt aber ich habe es schon mit der Zellangabe versucht, ohne der Zellangabe und sonstige Versuche aber nix nützt etwas... Anbei auch mal eine kleine Mustertabelle... Danke... ...ach und: wie kann ich eine bedingte Formatierung für die gesamte Spalte (also in einem Rutsch für alle betroffenen Zellen) eingeben (reicht es den Spaltenkopf anzuklicken; bedingte Formatierung erstellen und gut ist es?) oder muß ich jede Zelle anklicken und die bedingte Formatierung einstellen (wollte ich vermeiden können schnell mal über 1000 Einträge werden)? Grüße Bernd
------------------ P8 Magic | P8 FAQs | Eplan Downloads | Historie | Hilfe | Suchen | Finden | Fragen | Geprüft Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6
|
erstellt am: 26. Jun. 2009 11:30 <-- editieren / zitieren --> Unities abgeben: Nur für bgischel
Hallo Bernd! Zwei Sachen: 1.) möchtest Du nur die Zeichen, die nach der 80. Stelle stehen, rot einfärben? 2.) oder soll, wenn der Text der Zelle länger als 80 Stellen ist, alles rot dargestellt werden? Antwort zu 1: geht nur per Makro und das ist wohl etwas aufwändiger. Antwort zu 2) bei Bedingter Formatierung nich "Zellwert ist" auswählen sonder "Formel ist" und dann zB Code: =LÄNGE($A2)>80
eingeben. HTH, bei Fragen, fragen!
Grüße, Ole [Diese Nachricht wurde von okl am 26. Jun. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 26. Jun. 2009 11:40 <-- editieren / zitieren --> Unities abgeben: Nur für bgischel
Hi Bernd, a) soweit ich weiß, andere Farbe innerhalb einer Zelle: geht nicht mit bedingter Formatierung. Der Makrorekorder hat mir das her ausgeworfen: Code: [schnipp] With ActiveCell.Characters(Start:=17, Length:=4).Font .Name = "Calibri" .FontStyle = "Standard" .Size = 11 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .Color = -16776961 .TintAndShade = 0 .ThemeFont = xlThemeFontMinor End With [schnapp]
gekürzt :D :
Code: Sheets(1).Range("A1").Characters(Start:=81).Font.Color = -16776961
Ich hoffe, Du kannst es selbst verwursten, sonst hak nach b) Bedingte Formatierung kannst Du, wie andere Formatierungen auch, mit dem "Pinselchen" übertragen -> Format übertragen. ab Excel 2007 ist das viel komfortabler, das aber nur als Anmerkung. ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgischel Ehrenmitglied V.I.P. h.c. ...und Dippel-Ing ET...
Beiträge: 15740 Registriert: 09.03.2001 Excel(lent) 2002 SP3
|
erstellt am: 26. Jun. 2009 11:41 <-- editieren / zitieren --> Unities abgeben:
|
bgischel Ehrenmitglied V.I.P. h.c. ...und Dippel-Ing ET...
Beiträge: 15740 Registriert: 09.03.2001 Excel(lent) 2002 SP3
|
erstellt am: 26. Jun. 2009 11:47 <-- editieren / zitieren --> Unities abgeben:
|
StefanBerlitz Ehrenmitglied V.I.P. h.c. IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 26. Jun. 2009 12:15 <-- editieren / zitieren --> Unities abgeben: Nur für bgischel
Hallo ihr Lieben, ich bin mal wieder viel zu langsam, aber dafür spar ich Bernd ein wenig Wochenendearbeitzeit, die sinnvollerweise für Grillungen, Gartenarbeit oder Frauenärgern eingesetzt werden kann Ein Makro könnte so aussehen:
Code: Sub Makro4() Dim Zelle As Range Dim AbJetztInRot As Long AbJetztInRot = 25 For Each Zelle In Selection Zelle.Characters(Start:=1, Length:=AbJetztInRot - 1).Font.ColorIndex = xlAutomatic Zelle.Characters(Start:=AbJetztInRot, Length:=Len(ActiveCell.Characters.Text)).Font.Color = -16776961 Next End Sub
Dazu Zellen vorselektieren (nicht die ganze Spalte, zumindest bei Office2007 ist er bei mir dann bei Zeile 343524 mit zu wenig Speicher ausgestiegen , aber eine Selektion mit ein paar Hundert oder Tausend Zellen geht schon) und Makro ausführen. Über die Variable AbJetztInRot kannst du das Zeichen steuern, ab dem umgefärbt werden soll.Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6
|
erstellt am: 26. Jun. 2009 12:28 <-- editieren / zitieren --> Unities abgeben: Nur für bgischel
Zitat: Original erstellt von okl:
Antwort zu 1: geht nur per Makro und das ist wohl etwas aufwändiger.
Zitat: Original erstellt von StefanBerlitz:
Code: Sub Makro4() Dim Zelle As Range Dim AbJetztInRot As Long AbJetztInRot = 25 For Each Zelle In Selection Zelle.Characters(Start:=1, Length:=AbJetztInRot - 1).Font.ColorIndex = xlAutomatic Zelle.Characters(Start:=AbJetztInRot, Length:=Len(ActiveCell.Characters.Text)).Font.Color = -16776961 Next End Sub
Ich stelle neidlos fest: Meine Aussage ist nur zu max 50% richtig. Und Stefan: schönes Ding! 10 Unitäten sind dafür wohl angemessen. Schönes WE, Euch Allen! Ole Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied | |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing. / Supporter
Beiträge: 3864 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 26. Jun. 2009 12:33 <-- editieren / zitieren --> Unities abgeben: Nur für bgischel
Zitat: Original erstellt von StefanBerlitz: Zelle.Characters(Start:=1, Length:=AbJetztInRot - 1).Font.ColorIndex = xlAutomatic
Ich darf mal etwas daran verändern. Code:
a = Len(Selection) <-- funktioniert sicher, wenn die Zelle vergewählt ist, über die Prozedur von Stefan bin ich mir nicht ganz sicher Zelle.Characters(Start:=AbJetztInRot+1, Length:=a-AbJetztInRot).Font.ColorIndex = xlAutomatic
Bei der Version von Stefan werden die ersten AbJetztInRot Zeichen eingefärbt. Gruss Mike ------------------ The Power Of Dreams Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgischel Ehrenmitglied V.I.P. h.c. ...und Dippel-Ing ET...
Beiträge: 15740 Registriert: 09.03.2001 Excel(lent) 2002 SP3
|
erstellt am: 26. Jun. 2009 13:19 <-- editieren / zitieren --> Unities abgeben:
|
bgischel Ehrenmitglied V.I.P. h.c. ...und Dippel-Ing ET...
Beiträge: 15740 Registriert: 09.03.2001 Excel(lent) 2002 SP3
|
erstellt am: 29. Jun. 2009 11:52 <-- editieren / zitieren --> Unities abgeben:
|