Autor
|
Thema: Office Excel 2007 und Bedingte Formatierung erweitern (5664 mal gelesen)
|
Sepsis Mitglied
Beiträge: 399 Registriert: 19.03.2009
|
erstellt am: 30. Mrz. 2011 14:13 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen ich Färbe eine Zelle mit eine Bestimmten Farbe ein falls die Zelle einen gewissen teil eines textes enthält! Wie weite ich diese Farbe auf eine ganze Zeile aus? In den Zellen danben kommt dieser Text ja nicht vor? ------------------ The Man Who Knew Too Much Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 30. Mrz. 2011 14:34 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
|
Sepsis Mitglied
Beiträge: 399 Registriert: 19.03.2009
|
erstellt am: 30. Mrz. 2011 14:42 <-- editieren / zitieren --> Unities abgeben:
Hm verstehe ich nicht xd ... ich gehe auf Bedingte Formatierung --> neue Regel --> Formel zur Ermittlung balbalbal ---> Untersuche Spalte A ---> =($A$7:$A$461)="E13" (Das Feld enthält E13?????? ist nicht gleich E13) und wie wende ich des auf die ganze Zeile an die neben der überprüften Zelle ist ------------------ The Man Who Knew Too Much Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 30. Mrz. 2011 14:54 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
Bild, Worte... guggst Du ---->>> Formel ist: =FINDEN($E$1;$A1)>0 wird angewendet auf: =$A$1:$C$6 Man beachte bitte die Dollarzeichen. Annahme meinerseits: Du suchst den Text, der in Zelle E1 steht, nicht den Ausdruck "E1", ansonsten aber einfach anpassen. niemals ganze Zeilen formatieren, ist ein reiner Performancekiller ohne Nutzen. Spätestens seit 2007 und seinen riesigen sheets. ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 30. Mrz. 2011 14:54 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
|
Sepsis Mitglied
Beiträge: 399 Registriert: 19.03.2009
|
erstellt am: 30. Mrz. 2011 15:13 <-- editieren / zitieren --> Unities abgeben:
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 30. Mrz. 2011 15:15 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
|
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 30. Mrz. 2011 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
|
Sepsis Mitglied
Beiträge: 399 Registriert: 19.03.2009
|
erstellt am: 30. Mrz. 2011 15:30 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von runkelruebe: Was steht denn in E7? Steht da "D33"? Oder steht da "+E11-D33"? Kann Deine Formel also stimmen?
+E11-D33 ich suche ja nicht +E11-D33 kann ja auch +E8928347-D33 drinnen stehen ich suche Zellen die D33 beinhalten keine Ahnung verstehe die Findne formel nicht er will ja Suchtext;Text;und Erstes Zeichen ------------------ The Man Who Knew Too Much [Diese Nachricht wurde von Sepsis am 30. Mrz. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 30. Mrz. 2011 15:40 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
Excel soll also den Teilstring "-D33" FINDEN in dem Gesamtstring "+ABC123465-D33" ? Sobald Du die Formel verstanden hast, bist Du am Ziel. =FINDEN("TEST";$A1)>0 -> sobald der Teilstring "TEST" in der Zelle A1 steht, ist dieser Ausdruck wahr. Suchtext = Text, nach dem gesucht wird Text = Text IN dem gesucht wird Erstes Zeichen = ab wo soll die Suche begonnen werden (bei Dir: vorne also 1. 1 ist default, also kannste das weglassen) ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sepsis Mitglied
Beiträge: 399 Registriert: 19.03.2009
|
erstellt am: 30. Mrz. 2011 15:51 <-- editieren / zitieren --> Unities abgeben:
Es funktioniert, ich hatte wenn ich es auf dein Beispiel ummünze =FINDEN("D34";$A$1;$A$597;1) drinnen! Ist für mich logischer funktioniert aber nicht Dein Formelchen funktioniert *leider =FINDEN("TEST";$A1)>0 Sag mal THX
------------------ The Man Who Knew Too Much Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carsten-3m Mitglied Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)
Beiträge: 950 Registriert: 08.05.2007 Excel 2010
|
erstellt am: 30. Mrz. 2011 16:22 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
Lösung: Suchbereich nicht fix vorgeben. Bedingte Formatierung samt FOrmel nur für die erste Zelle definieren, dann mit Formatübertragungspinsel nach unten vervielfältigen (siehe Bild). ------------------ Seit Pro/E Version 1 dabei, auwei... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sepsis Mitglied
Beiträge: 399 Registriert: 19.03.2009
|
erstellt am: 30. Mrz. 2011 16:35 <-- editieren / zitieren --> Unities abgeben:
Ok jetzt sind wir soweit xd also mit =FINDEN("D38";$A7)>0 suche ich nach D38 --> funktioniert =$A$7:$J$595 wende ich auf diese die fomratierung an --> funktioniert Nun habe ich eine gewaltige Tabelle und die werte D11 bis D200 zu suchen und 5 verschiedene Farben die die runde machen! Ich kann könnte jetzt diese Formel 200x reinschreiben aber macht das sinn? Kann ich diese Bedingte formatierung exportierne --> bearbeiten und importierne? wie soll sich so viele unterscheidungen reinbringen ?
------------------ The Man Who Knew Too Much Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 30. Mrz. 2011 16:44 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
Zeit für VBA Fit drin? 200 bedingte Formatierungen bringen Deine Tabelle schätzungsweise performancemäßig eh an den Grund. Nach derzeitigem Kenntnisstand würde ich Deine Tabelle "einfach" 200x durchlaufen lassen, bei jedem Durchlauf suchst Du "ein D weiter" und wenn gefunden, mach bunt. á la
Code: For a = 1 To 10 If InStr(1, Cells(a, 1).Value, "GESUCHTER AUSDRUCK") Then Range(Cells(a, 1), Cells(a, 5)).Interior.ColorIndex = 3 Next a
wobei man "GESUCHTER AUSDRUCK" sicher auch nochmal durch eine Schleife erzeugen könnte.Oder auch Select Case, spart Schleifendurchläufe. Schau mal, wie weit Du mit diesem Ansatz schon kommst. ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...
System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sepsis Mitglied
Beiträge: 399 Registriert: 19.03.2009
|
erstellt am: 31. Mrz. 2011 15:59 <-- editieren / zitieren --> Unities abgeben:
Warum funktioniert oder hier nicht? Ich müsste so nur 10 Regeln erstellen um dieses leicht hinzubekomme..... Diese kann ich extern schnell bearbeiten und kopieren... ohne VB =ODER((FINDEN("D10";$A7)>0);(FINDEN("D20";$A7)>0);(FINDEN("D30";$A7)>0);(FINDEN("D40";$A7)>0);(FINDEN("D50";$A7)>0);(FINDEN("D60";$A7)>0);(FINDEN("D70";$A7)>0) ;(FINDEN("D80";$A7)>0);(FINDEN("D90";$A7)>0);(FINDEN("D100";$A7)>0);(FINDEN("D110";$A7)>0);(FINDEN("D120";$A7)>0);(FINDEN("D130";$A7)>0);(FINDEN("D140";$A7)>0) ;(FINDEN("D150";$A7)>0);(FINDEN("D160";$A7)>0);(FINDEN("D170";$A7)>0);(FINDEN("D180";$A7)>0);(FINDEN("D190";$A7)>0);(FINDEN("D200";$A7)>0)) Kann man HTML codes hier im Forum irgendwie eingschaltne? ------------------ The Man Who Knew Too Much [Diese Nachricht wurde von Sepsis am 31. Mrz. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 31. Mrz. 2011 16:08 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
DU hast mit dem 200x die Formel schreiben angefangen, nicht ich Ich kenne Deine Anforderungen ja nicht, daher der Vorschlag mit VBA, damit geht vieles leichter, man erspart sich oft Monsterformeln. (btw. unter Version 2007 waren Verschachtelungen > 7 Schachteln nur durch kleine Tricks zu erreichen) Hast Du jetzt noch ne Frage oder nicht? Ich kann Dein posting diesbezüglich nicht so ganz deuten. Zur editierten Zusatzfrage: Nein, html ist hier bei CAD.de nicht möglich (und ist auch nicht geplant), wir nutzen UBB. ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sepsis Mitglied
Beiträge: 399 Registriert: 19.03.2009
|
erstellt am: 31. Mrz. 2011 16:18 <-- editieren / zitieren --> Unities abgeben:
Meine Frage ist warum meine UND <Funktion> nicht funktioniert! Er soll bei Bedingte Formatierung in der Formel nicht nur nach wie oben gezeigt nach D38 suchen sonder gleichzeitig nach D10;D20;D30;D40;D50;D60;D70;D80;D90;D100;D110;D120;D130;D140;D150;D160;D170;D180;D190;D200 in einer Regel und die Farbe anwenden. ....... somit das ganze ohne VB
------------------ The Man Who Knew Too Much Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 31. Mrz. 2011 16:59 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
Weil Excel in einen #WERT-Fehler läuft, sobald die Bedingung nicht zutrifft. Und mit Fehlern rechnet es sich schlechter. In 2007 gibt es die Funktion WENNFEHLER, damit könntest Du in der Bedingung der Formatierung arbeiten: Code: =WENNFEHLER((FINDEN("D10";$A7));0)+WENNFEHLER(FINDEN("D20";$A7);0)>0
usw. den Rest erspar ich mir mal an dieser Stelle, denn im Grunde bin ich eh raus, wegen Zitat: daher der Vorschlag mit VBA, damit geht vieles leichter, man erspart sich oft Monsterformeln.
Vielleicht kommt ja noch wer mit der 'weil-einfach-einfach-einfach-ist-Lösung' um's Eck. Viel Erfolg ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 31. Mrz. 2011 17:13 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
|
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 31. Mrz. 2011 20:54 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
so schnell auf dem Sprung nach Hause, #WERT muss man mit ISTFEHLER() abfangen, dann noch etwas Logik;-) Code: =NICHT(UND(ISTFEHLER(FINDEN("D10";A1));ISTFEHLER(FINDEN("D20";A1));ISTFEHLER(FINDEN("D30";A1));ISTFEHLER(FINDEN("D40";A1));ISTFEHLER(FINDEN("D50";A1));ISTFEHLER(FINDEN("D60"; A1));ISTFEHLER(FINDEN("D70";A1));ISTFEHLER(FINDEN("D80";A1));ISTFEHLER(FINDEN("D90";A1));ISTFEHLER(FINDEN("D100";A1))))=WAHR
ergibt den Rückgabewert WAHR usw. bis D200 ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 31. Mrz. 2011 23:56 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
zu Hause und nun auch kürzer ;-) Code: =ISTFEHLER(WENN(REST(RECHTS(A1;LÄNGE(A1)-FINDEN("D";A1));10)=0;"D"&RECHTS(A1;LÄNGE(A1)-FINDEN("D";A1));#NV))=FALSCH
formatiert alle Inhalte auf die die Bedingung [ D und folgende Zahlen durch 10 teilbar & keine weiteren Textzeichen nach der Zahl ] zutrifft.Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sepsis Mitglied
Beiträge: 399 Registriert: 19.03.2009
|
erstellt am: 01. Apr. 2011 07:49 <-- editieren / zitieren --> Unities abgeben:
=FINDEN("1";$A7;8)>0 =FINDEN("2";$A7;8)>0 =FINDEN("3";$A7;8)>0 =FINDEN("4";$A7;8)>0 =FINDEN("5";$A7;8)>0 =FINDEN("6";$A7;8)>0 =FINDEN("7";$A7;8)>0 =FINDEN("8";$A7;8)>0 =FINDEN("9";$A7;8)>0 Für mich eine gute Lösung funktioniert aber nur für D<100 da ich ja bis 100 auf die 8 Stelle schaue! Wie kann ich diese Formel verändern, sodas er nicht auf die achte Stelle schaut, sonder prinzipiell auf die letzte Stelle der Zelle?? ------------------ The Man Who Knew Too Much [Diese Nachricht wurde von Sepsis am 01. Apr. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 01. Apr. 2011 08:21 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
Zitat: Original erstellt von Sepsis: Man müsste REST(RECHTS(A1;LÄNGE(A1)-FINDEN("D";A1));2)=0 auch durch etwas ersetzte das die letzte Zahl in der Zelle sucht, dann kann ich 1;2;3;4;5;6;7;8;9; suchen[/B]
jaja, man müsste Hint: bei =Rest() mal F1 drücken Das die Formel nicht auf Spalten >A funktioniert - sie funktioniert schon, du willst nur Spalte A geklemmt haben, oder? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sepsis Mitglied
Beiträge: 399 Registriert: 19.03.2009
|
erstellt am: 01. Apr. 2011 09:16 <-- editieren / zitieren --> Unities abgeben:
THX Harmening aber das ist ja schon wieder ein alter Hut! Die finden Geschichte funktioniert perfekt "fast" =FINDEN("1";$A7;8)>0 =FINDEN("2";$A7;8)>0 =FINDEN("3";$A7;8)>0 =FINDEN("4";$A7;8)>0 =FINDEN("5";$A7;8)>0 =FINDEN("6";$A7;8)>0 =FINDEN("7";$A7;8)>0 =FINDEN("8";$A7;8)>0 =FINDEN("9";$A7;8)>0 Falls sich aber die Formatierung der Excel liste durch einen eventl. anderen Bearbeiter ändert --> ist ja ein generiertes Excel file *lange Geschichte* würde ich es bevorzugen, dass er nicht ab der "8" Stelle zu suchen anfängt sondern er soll automatisch die letzte stelle in der Zelle anschauen! Dann kann nichts mehr passieren falls sich mal die Formatierung ändern sollte. So sieht die Geschichte jetzt aus --> siehe Anhang passt doch ------------------ The Man Who Knew Too Much [Diese Nachricht wurde von Sepsis am 01. Apr. 2011 editiert.] [Diese Nachricht wurde von Sepsis am 01. Apr. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 01. Apr. 2011 09:20 <-- editieren / zitieren --> Unities abgeben: Nur für Sepsis
|
Sepsis Mitglied
Beiträge: 399 Registriert: 19.03.2009
|
erstellt am: 01. Apr. 2011 10:18 <-- editieren / zitieren --> Unities abgeben:
OK habe die Funktion rechts gefunden, nun kann ich reinschreiben was ich will er finden immer alles. =FINDEN("0";(RECHTS($A7)))>0 =FINDEN("1";(RECHTS($A7)))>0 =FINDEN("2";(RECHTS($A7)))>0 =FINDEN("3";(RECHTS($A7)))>0 =FINDEN("4";(RECHTS($A7)))>0 =FINDEN("5";(RECHTS($A7)))>0 =FINDEN("6";(RECHTS($A7)))>0 =FINDEN("7";(RECHTS($A7)))>0 =FINDEN("8";(RECHTS($A7)))>0 =FINDEN("9";(RECHTS($A7)))>0 Jetzt kann kommen was will meine Nachfolger können jetzt auch Excel Files mit D"unendlich" bauen xd Zitat: daher der Vorschlag mit VBA, damit geht vieles leichter, man erspart sich oft Monsterformeln.Vielleicht kommt ja noch wer mit der 'weil-einfach-einfach-einfach-ist-Lösung' um's Eck. Viel Erfolg [/B]
Nochmals THX für die große hilfe
------------------ The Man Who Knew Too Much [Diese Nachricht wurde von Sepsis am 01. Apr. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |