Autor
|
Thema: mehrere Zahlen in Spalten suchen und versch. Farben geben? (3929 mal gelesen)
|
CADdoctor Mitglied Technischer Zeichner (Versorgungstechnik)
Beiträge: 313 Registriert: 12.05.2007 Software: AutoCAD MEP 2013 Excellink 2013 Windows 7 x64 Pro SP 1 Office 2010 SP 1 Mozilla Firefox 13.0.1 Mozilla Thunderbird 13.0.1<P>Hardware: ASUS P6T WS Professional Intel Core i7-920, 4x 2.67GHz PNY Quadro FX 1800 Kingston HyperX DIMM XMP Kit 6GB Kingston HyperX SSD 120GB, SATA 6Gb/s
|
erstellt am: 16. Sep. 2010 16:58 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ist es in Excel möglich, mehrere Zahlen in Spalten zu suchen und verschiedene Zellenfarben zu geben? Im Suchen und Ersetzen Dialog kann Ich nur nach einer Zahl suchen und die dann mit der selben Zahl und dem Format rot ersetzen! zB.: suchen von Spalte C bis H alle Zahlen von 1 bis 9 gelb alle Zahlen von 10 bis 19 rot alle Zahlen von 20 bis 29 grün usw.
------------------ Mit freundlichen Grüßen CADdoctor [Diese Nachricht wurde von CADdoctor am 16. Sep. 2010 editiert.] 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: 16. Sep. 2010 17:36 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Nein, eine dafür geeignete Suchmethode ist im Excelstandard meines Wissens nach nicht zu finden. Aber, per benutzerdefiniertem Autofilter und ein paar weniger Klicks (Bereich markieren, Farbe wählen) geht das ebenso flott. ------------------ Seit Pro/E Version 1 dabei, auwei... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2013 ADT 2005 bis 2013 Arcibem System: Windows NT, 2000, XP Internet-Startseite: http://www.archi.de
|
erstellt am: 16. Sep. 2010 18:57 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
|
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: 16. Sep. 2010 20:17 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2013 ADT 2005 bis 2013 Arcibem System: Windows NT, 2000, XP Internet-Startseite: http://www.archi.de
|
erstellt am: 16. Sep. 2010 20:19 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
|
CADdoctor Mitglied Technischer Zeichner (Versorgungstechnik)
Beiträge: 313 Registriert: 12.05.2007 Software: AutoCAD MEP 2013 Excellink 2013 Windows 7 x64 Pro SP 1 Office 2010 SP 1 Mozilla Firefox 13.0.1 Mozilla Thunderbird 13.0.1<P>Hardware: ASUS P6T WS Professional Intel Core i7-920, 4x 2.67GHz PNY Quadro FX 1800 Kingston HyperX DIMM XMP Kit 6GB Kingston HyperX SSD 120GB, SATA 6Gb/s
|
erstellt am: 16. Sep. 2010 21:48 <-- editieren / zitieren --> Unities abgeben:
Hallo! Danke für den super Tipp mit der Bedingten Formatierung! Doch wie kann Ich dort eine eine 5 Farben Skala erstellen die nicht abgestuft wird? Das soll ja laut Paulchen in Office 2010 möglich sein! Oder hab Ich da was falsch verstanden? 1 - 9 gelb 10 - 19 rot 20 - 29 grün 30 - 39 blau 40 - 49 orange ------------------ Mit freundlichen Grüßen CADdoctor [Diese Nachricht wurde von CADdoctor am 16. Sep. 2010 editiert.] 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: 16. Sep. 2010 22:35 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Theoretisch (weil gerade kein Office 2010 oder 2007 verfügbar): Bedingte Formatierung auf dem Start-Ribbon Formel hinzufügen =UND(ZELLWERT<=1;ZELLWERT<9) Farbe wählen nächste Bedingung Einfacher testen kannst Du, wenn Du die Formeln zunächst in eine Zelle eingibst, Ergebnis ist entweder WAHR oder FALSCH. Guck Dir die Bezüge mit $-Zeichen an, Stichwort: Absoluter und relativer Zellbezug. Viel Erfolg! [Edit: Soll natürlich >=1 heißen... /Edit] [Diese Nachricht wurde von Paulchen am 16. Sep. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADdoctor Mitglied Technischer Zeichner (Versorgungstechnik)
Beiträge: 313 Registriert: 12.05.2007 Software: AutoCAD MEP 2013 Excellink 2013 Windows 7 x64 Pro SP 1 Office 2010 SP 1 Mozilla Firefox 13.0.1 Mozilla Thunderbird 13.0.1<P>Hardware: ASUS P6T WS Professional Intel Core i7-920, 4x 2.67GHz PNY Quadro FX 1800 Kingston HyperX DIMM XMP Kit 6GB Kingston HyperX SSD 120GB, SATA 6Gb/s
|
erstellt am: 16. Sep. 2010 22:56 <-- editieren / zitieren --> Unities abgeben:
Unter Bedingte Formatierung auf dem Start-Ribbon finde Ich leider keine Auswahl um eine Formel hinzuzufügen! =UND(ZELLWERT>=1;ZELLWERT<9) Farbe wählen nächste Bedingung ------------------ Mit freundlichen Grüßen CADdoctor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2013 ADT 2005 bis 2013 Arcibem System: Windows NT, 2000, XP Internet-Startseite: http://www.archi.de
|
erstellt am: 16. Sep. 2010 23:16 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
|
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: 17. Sep. 2010 00:20 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
|
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 17. Sep. 2010 06:56 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
oder doch lieber per Makro? Code: Sub test() For Each RaZelle In Range("C5:F30") With RaZelle Select Case .Value ' Zellinhalt vergleichen Case Is < 10 .Font.ColorIndex = 6 'Gelb .Interior.Color = 12632256 ' Füllfarbe Grau - 25 % Case 10, 11, 12, 13 .Font.ColorIndex = 4 'Grün Case 14 To 20 .Font.ColorIndex = 3 'Rot Case 99 .Font.ColorIndex = 5 'Blau Case Else .Font.ColorIndex = xlNone .Interior.ColorIndex = xlNone End Select End With Next RaZelle End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADdoctor Mitglied Technischer Zeichner (Versorgungstechnik)
Beiträge: 313 Registriert: 12.05.2007 Software: AutoCAD MEP 2013 Excellink 2013 Windows 7 x64 Pro SP 1 Office 2010 SP 1 Mozilla Firefox 13.0.1 Mozilla Thunderbird 13.0.1<P>Hardware: ASUS P6T WS Professional Intel Core i7-920, 4x 2.67GHz PNY Quadro FX 1800 Kingston HyperX DIMM XMP Kit 6GB Kingston HyperX SSD 120GB, SATA 6Gb/s
|
erstellt am: 17. Sep. 2010 08:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas! Danke für das Makro. Jedoch soll nicht die Schriftfarbe eingefärbt werden sondern die Zellenfarbe. Wenn Ich .Font.ColorIndex auf .Interior.Color umbenenne bekomme ich schwarze Zellen. ------------------ Mit freundlichen Grüßen CADdoctor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Comos User Mitglied
Beiträge: 112 Registriert: 23.03.2010
|
erstellt am: 17. Sep. 2010 09:44 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Hallo, Zitat: Wenn Ich .Font.ColorIndex auf .Interior.Color umbenenne bekomme ich schwarze Zellen
Du solttest schon bei .Colorindex bleiben, Color erwartet einen Longwert für die Farbe (Bereich 0- 16 Mio). Diesen Wert kann man komfortabel mit der RGB funktion ermitteln. z.B. Code: .color = RGB(255,0,0) 'für rot
Gruß Peter
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 17. Sep. 2010 10:13 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Hallo CADdoctor, bei Office 2007 kann ich mehrere Regeln für die bedingte Formatierung eintragen und damit verschiedene Wertebereiche unterschiedlich färben. Am einfachsten machst du das im Regelmanager (muss ja heutzutage alles gemanaged werden ), also Bereich markieren, dann Startribbon - Bedingte Formatierung - Regeln verwalten (ganz unten), und dort mit "Neue Regel" jeweils neue Regeln erstellen "Zellwert zwischen ... und ...". Vielleicht hilft der Screenshot auch weiter, falls ich das nicht verständlich erklärt habe. Ob es so auch mit 2003 oder 2010 geht bin ich mir nicht sicher. 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 |
CADdoctor Mitglied Technischer Zeichner (Versorgungstechnik)
Beiträge: 313 Registriert: 12.05.2007 Software: AutoCAD MEP 2013 Excellink 2013 Windows 7 x64 Pro SP 1 Office 2010 SP 1 Mozilla Firefox 13.0.1 Mozilla Thunderbird 13.0.1<P>Hardware: ASUS P6T WS Professional Intel Core i7-920, 4x 2.67GHz PNY Quadro FX 1800 Kingston HyperX DIMM XMP Kit 6GB Kingston HyperX SSD 120GB, SATA 6Gb/s
|
erstellt am: 19. Sep. 2010 11:32 <-- editieren / zitieren --> Unities abgeben:
Ich hab den Code abgeändert und der funktioniert einwandfrei. Da Ich aber mehrere Tabellenblätter in meiner Datei habe, will ICh den Code auf alle Tabellenblätter anwenden. Es funktioniert aber leider nicht. Was mache Ich falsch? Sub test() Dim i% For i = 1 To ActiveWorkbook.Sheets.Count Worksheets(i).Cells("C4:H108").Select For Each RaZelle In Range("A1:F105669") With RaZelle Select Case .Value 'Zellinhalt vergleichen Case 1 To 10 .Interior.ColorIndex = 6 'Gelb Case 10 To 19 .Interior.ColorIndex = 4 'Grün Case 20 To 29 .Interior.ColorIndex = 26 'Violette Case 30 To 39 .Interior.ColorIndex = 3 'Rot Case 40 To 45 .Interior.ColorIndex = 5 'Blau Case Else .Interior.ColorIndex = 0 'Automatisch End Select End With Next RaZelle Next i End Sub ------------------ Mit freundlichen Grüßen CADdoctor [Diese Nachricht wurde von CADdoctor am 19. Sep. 2010 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: 19. Sep. 2010 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
|
CADdoctor Mitglied Technischer Zeichner (Versorgungstechnik)
Beiträge: 313 Registriert: 12.05.2007 Software: AutoCAD MEP 2013 Excellink 2013 Windows 7 x64 Pro SP 1 Office 2010 SP 1 Mozilla Firefox 13.0.1 Mozilla Thunderbird 13.0.1<P>Hardware: ASUS P6T WS Professional Intel Core i7-920, 4x 2.67GHz PNY Quadro FX 1800 Kingston HyperX DIMM XMP Kit 6GB Kingston HyperX SSD 120GB, SATA 6Gb/s
|
erstellt am: 19. Sep. 2010 12:06 <-- editieren / zitieren --> Unities abgeben:
Mahlzeit runkelrübe! Ich hab mit F8 kontrolliert und einen Laufzeitfehler '5' erhalten, mit dem Ich nichts anfangen konnte. Danke für den Hinweis. ------------------ Mit freundlichen Grüßen CADdoctor 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: 19. Sep. 2010 12:14 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
|
CADdoctor Mitglied Technischer Zeichner (Versorgungstechnik)
Beiträge: 313 Registriert: 12.05.2007 Software: AutoCAD MEP 2013 Excellink 2013 Windows 7 x64 Pro SP 1 Office 2010 SP 1 Mozilla Firefox 13.0.1 Mozilla Thunderbird 13.0.1<P>Hardware: ASUS P6T WS Professional Intel Core i7-920, 4x 2.67GHz PNY Quadro FX 1800 Kingston HyperX DIMM XMP Kit 6GB Kingston HyperX SSD 120GB, SATA 6Gb/s
|
erstellt am: 19. Sep. 2010 17:21 <-- editieren / zitieren --> Unities abgeben:
Da Ich in meiner Datei verschiedene Tabellenblätter mit unterschiedlicher Zeilenanzahl (min: 1 ; max: 105669) habe, will Ich noch eine Routine einbauen die mir beim einfärben der Zellen Zeit erspart. Jetzt muss VBA ja in jedem Tabellenblatt den Bereich A1:F105669 abarbeiten! Wie kann Ich die Bearbeitungzeit verkürzen? ------------------ Mit freundlichen Grüßen CADdoctor 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: 19. Sep. 2010 17:26 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
|
Comos User Mitglied
Beiträge: 112 Registriert: 23.03.2010
|
erstellt am: 20. Sep. 2010 08:55 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Guten Morgen an Alle, auch das aktivieren des Sheet ist überflüssig siehe auch hier: http://www.online-excel.de/excel/singsel_vba.php?f=61
Code: Dim i as double For i = 1 To ActiveWorkbook.WorkSheets.Count 'nur Arbeitsblätter For Each RaZelle In ActiveWorkbook.worksheets(i).UsedRange With RaZelle
Da vermutlich immer noch eine große Anzahl an zellen übrig bleibt ist es sinnvoll sich über die Reihenfolge der Case's Gedanken zu machen und falls es hier eine auffällige Häufung einzelnener Bereiche gibt diese an den Anfang zu setzen. Besondere Aufmerksamkeit verdient der Fall 'Case Else', den kann man ja nicht an den Anfang setzen, wenn er besonders Häufig ist.
Ein Beispiel: Deine Tabellen enthalten viele leere Zellen oder Zellen mit Text, deren .Value ist dann 0 In diesem Fall ist es sinnvoll als ersten ein Case 0 zu codiern, in deinem fall sogar Case Is < 1 Code: Select Case .Value 'Zellinhalt vergleichen Case is < 1 .Interior.ColorIndex = 0 'Automatisch Case 1 To 10 .Interior.ColorIndex = 6 'Gelb Case 10 To 19 .Interior.ColorIndex = 4 'Grün Case 20 To 29 .Interior.ColorIndex = 26 'Violette Case 30 To 39 .Interior.ColorIndex = 3 'Rot Case 40 To 45 .Interior.ColorIndex = 5 'Blau Case Else .Interior.ColorIndex = 0 'Automatisch End Select
Das Ergebniss ist zwar das Gleiche, der Fall würde ja von Case Else erfaßt, aber erst nachdem alle Prüfungen durchgeführt worden sind. Die 'eingesparte Zeit' für die Bereichsprüfungen summiert sich. Auch ein Is > 45 wäre denkbar, aber das hängt ganz von der Häfigkeitsverteilung im zu Bearbeitenen Bereich ab. Gruß Peter
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADdoctor Mitglied Technischer Zeichner (Versorgungstechnik)
Beiträge: 313 Registriert: 12.05.2007 Software: AutoCAD MEP 2013 Excellink 2013 Windows 7 x64 Pro SP 1 Office 2010 SP 1 Mozilla Firefox 13.0.1 Mozilla Thunderbird 13.0.1<P>Hardware: ASUS P6T WS Professional Intel Core i7-920, 4x 2.67GHz PNY Quadro FX 1800 Kingston HyperX DIMM XMP Kit 6GB Kingston HyperX SSD 120GB, SATA 6Gb/s
|
erstellt am: 20. Sep. 2010 09:23 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Peter, In meinen Tabellen befinden sich keine leeren Zellen oder Zellen mit Text. Auch Zahlen < 1 oder > 45 gibt es in meinen Tabellen nicht. Also brauche Ich den Fall < 1 am Anfang nicht zu definieren oder?? Leere Zellen befinden sich nur am Ende des Tabellenblattes. Ich hab noch das automatische Anpassen der Spaltenbreite eingebaut, die allerdings nur beim ersten Tabellenblatt funktioniert! Sub test() Dim i as double For i = 1 To ActiveWorkbook.WorkSheets.Count 'nur Arbeitsblätter Columns("A:F").EntireColumn.AutoFit For Each RaZelle In ActiveWorkbook.worksheets(i).UsedRange With RaZelle Select Case .Value 'Zellinhalt vergleichen Case 1 To 10 .Interior.ColorIndex = 6 'Gelb Case 10 To 19 .Interior.ColorIndex = 4 'Grün Case 20 To 29 .Interior.ColorIndex = 26 'Violette Case 30 To 39 .Interior.ColorIndex = 3 'Rot Case 40 To 45 .Interior.ColorIndex = 5 'Blau Case Else .Interior.ColorIndex = 0 'Automatisch End Select End With Next RaZelle Next i End Sub ------------------ Mit freundlichen Grüßen CADdoctor [Diese Nachricht wurde von CADdoctor am 20. Sep. 2010 editiert.] 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: 20. Sep. 2010 14:07 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Tach, Zitat: Ich hab noch das automatische Anpassen der Spaltenbreite eingebaut, die allerdings nur beim ersten Tabellenblatt funktioniert!
Ich vermute (ungetestet), dass sich Code: Columns("A:F").EntireColumn.AutoFit
lediglich auf das aktive Blatt bezieht - dieses ist bei Dir (zufällig) das erste?! Was sagt denn die Hilfe dazu? Evtl. musst Du also explizit (innerhalb der Schleife) vorgeben, dass .AutoFit auch wirklich für jedes Blatt vorgenommen wird... So was wieCode: ... For i = 1 To ActiveWorkbook.WorkSheets.Count 'nur Arbeitsblätter ActiveWorkbook.WorkSheets(i).Columns("A:F").EntireColumn.AutoFit ...
- ebenfalls nicht getestet - vielleicht?------------------ DIN1055.de | Lastannahmen für Anwender NEU: Foren zu DIN 1055 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Mechanical Design Engineer MULTI (m/w/d) | Städte zu den lebenswertesten Orten weltweit zu machen ? das ist unser Bestreben. Dabei treiben wir eine Industrie voran, die täglich mehr als eine Milliarde Menschen bewegt. Wir verändern unser Geschäft, indem wir unsere Branche ständig neu erfinden, uns selbst herausfordern und die Zusammenarbeit mit internen und externen Partnern intensivieren. Wir setzen auf unsere einzigartigen Ingenieursfähigkeiten, um bereits existierende Produkte zu optimieren und neue zu kreieren.... | Anzeige ansehen | Mechaniker |
|
CADdoctor Mitglied Technischer Zeichner (Versorgungstechnik)
Beiträge: 313 Registriert: 12.05.2007 Software: AutoCAD MEP 2013 Excellink 2013 Windows 7 x64 Pro SP 1 Office 2010 SP 1 Mozilla Firefox 13.0.1 Mozilla Thunderbird 13.0.1<P>Hardware: ASUS P6T WS Professional Intel Core i7-920, 4x 2.67GHz PNY Quadro FX 1800 Kingston HyperX DIMM XMP Kit 6GB Kingston HyperX SSD 120GB, SATA 6Gb/s
|
erstellt am: 20. Sep. 2010 14:44 <-- editieren / zitieren --> Unities abgeben:
|