Autor
|
Thema: Zellenfarben Kombinationen vergleichen und in % ausgeben (3690 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: 19. Sep. 2010 11:48 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich habe eine Datei mit mehreren Tabellenblätter die alle im Bereich ("C4:H108") verschiedene Farbkombinationen (Zellenfarben) enthalten. Jetzt möchte Ich ein neues Tabellenblatt anlegen, in dem die Anzahl und der Prozentsatz der Farbkombinationen Ausgegeben wird. Das Problem ist, das Ich keine Ahnung habe, wie man in Excel Zellenfarben zählt und ausgibt! z.B.: In Zeile 1: Zelle 1/A = gelb Zelle 1/B = gelb Zelle 1/C = violette Zelle 1/D = rot Zelle 1/E = blau Zelle 1/F = blau In Zeile 2: Zelle 2/A = gelb Zelle 2/B = gelb Zelle 2/C = gelb Zelle 2/D = rot Zelle 2/E = blau Zelle 2/F = blau In Zeile 3: Zelle 3/A = gelb Zelle 3/B = gelb Zelle 3/C = violette Zelle 3/D = rot Zelle 3/E = blau Zelle 3/F = blau usw. Im Tabellenblatt soll dann stehen: Kombination: gelb, gelb, violette, rot, blau, blau Anzahl: 2 = 66,67% Kombination: gelb, gelb, gelb, rot, blau, blau Anzahl: 1 = 33,67% usw. ------------------ 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:56 <-- 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 13:38 <-- editieren / zitieren --> Unities abgeben:
Ich komme da irgendwie nicht zurecht! Wo soll =ZELLE.ZUORDNEN(63;INDIREKT("ZS(-1)" ) hineinkopiert werden??? ------------------ Mit freundlichen Grüßen CADdoctor [Diese Nachricht wurde von CADdoctor am 19. Sep. 2010 editiert.] [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 13:44 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 19. Sep. 2010 14:24 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Hier mal eine Idee per VBA. Prüfen, ob's stimmen kann, mußt Du selber und den Feinschliff überlasse ich ebenfalls Dir. Derzeitige Ausgabe im DebugFenster, Schleife für alle Blätter fehlt auch noch. Soll halt ein Ansatz zum Sonntag sein HTH Code: Option Base 1 Option Explicit Sub Farben() Dim a%, b%, strFarbCode$, strTemp$, i%, k%, LZA% Dim arFarbCodes() i = 1 LZA = 104 'LZA = Columns(1).Find("*", [A1], , , xlByRows, xlPrevious).Row ReDim arFarbCodes(1 To LZA) For a = 1 To LZA strFarbCode = "" For b = 1 To 6 strFarbCode = strFarbCode & Cells(a, b).Interior.ColorIndex & "-" Next b arFarbCodes(i) = Left(strFarbCode, Len(strFarbCode) - 1) i = i + 1 Next a For a = 1 To UBound(arFarbCodes) strTemp = arFarbCodes(a) For b = 1 To UBound(arFarbCodes) If strTemp = arFarbCodes(b) Then k = k + 1 Next b Debug.Print strTemp & " = " & k & "x vorhanden, das entspricht " & Round((k / UBound(arFarbCodes) * 100), 2) & "%" k = 0 Next a End Sub
------------------ 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 |
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 14:27 <-- editieren / zitieren --> Unities abgeben:
Ich hab im Namens-Manager für die Zellen A,B,C,D,E,F Namen vergeben um die Farbnummern auszuwerten. Wie kann Ich jetzt die Anzahl der Kombinationen Auswerten lassen und in das Tabellenblatt "Anzahl" eintragen lassen? Die jeweilige Farbkombination soll auch automatisch in das Tabellenblatt "Anzahl" eingetragen werden! Wie berechne Ich daraus dann die Prozentangabe? Ich weiß von meinen Farbtabellen ja keine genaue Zeilenanzahl mit der Ich rechnen könnte? z.B.: Farben Tabelle 1 = 104 Zeilen Farben Tabelle 2 = 80 Zeilen Ergibt 184 Zeilen Das heißt Ich muss rechnen "Anzahl der Kombinationen * 100 / Anzahl der Zellen" Mir ist aber die Anzahl der Zellen vorher nicht bekannt? ------------------ 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 14:41 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Automatisch und mit Formeln -> not me da müssen andere kommen. Wenn ich zum Verzicht auf VBA gezwungen wäre, würd ich wie folgt mit Hilfszellen arbeiten: in Spalte M: =G1&"-"&H1&"-"&I1&"-"&J1&"-"&K1&"-"&L1 in Spalte N: =ZÄHLENWENN(M:M;M1) in Q1: =SUMME(ANZAHL('Farben Tabelle 1'!N:N);ANZAHL('Farben Tabelle 2'!N:N)) in Spalte O: =N1/$Q$1*100 Wie Du diese Infos jetzt auf Tabellenblatt "Anzahl" bekommst -> wirst Du schon schaffen. Schönen Sonntag noch, die Kaffeetafel ruft ------------------ 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 |
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 14:50 <-- editieren / zitieren --> Unities abgeben:
|
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:31 <-- editieren / zitieren --> Unities abgeben:
Kann Ich auf die Hilfsspalte irgendwie verzichten? Nach längerem Googlen musste Ich feststellen, dass alle mit Hilfsspalten arbeiten. Die müsste Ich dann allerdings erst in sämtliche Tabellenblätter kopieren und dann auswerten? Gibt´s da keine einfachere Lösung? ------------------ Mit freundlichen Grüßen CADdoctor 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:41 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Zitat: Die müsste Ich dann allerdings erst in sämtliche Tabellenblätter kopieren und dann auswerten? Gibt´s da keine einfachere Lösung?
Hmjein - Du kannst über die Strg- bzw. Shift-Taste mehrere Register markieren und bearbeiten. Die Änderungen, die Du im aktiven Register vornimmst, betreffen dann alle markierten Register. Hilft zumindest, wenn Du manche Dinge wie z. B. auch die Seiteneinrichtung überall ähnlich haben möchtest. In die restliche Thematik hab' ich mich nicht reingefuchst... ------------------ DIN1055.de | Lastannahmen für Anwender NEU: Foren zu DIN 1055 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: 22. Sep. 2010 09:39 <-- editieren / zitieren --> Unities abgeben:
So Ich hab mir alle Farbkombinationen die möglich sind erstellt. Wie kann Ich aber per VBA die ganze Arbeitsmappe nach den Farbkombinationen (von A1 bis F38) durchsuchen lassen, und mir die Anzahl ausgeben lassen? ------------------ Mit freundlichen Grüßen CADdoctor 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: 23. Sep. 2010 00:48 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Zitat: Original erstellt von CADdoctor: So Ich hab mir alle Farbkombinationen die möglich sind erstellt. Wie kann Ich aber per VBA die ganze Arbeitsmappe nach den Farbkombinationen (von A1 bis F38) durchsuchen lassen, und mir die Anzahl ausgeben lassen?
Wie wird A1-F38 befüllt? Die Kombinationen sind IMHO laut deiner letzten Mappe 62 - (Farb Tabelle 2!C72 habe ich selber verändert ,Nummer 63 dunkelblau , die war grün) Bei deinen Tabellen Farb Tabelle 1 & 2 habe ich eine zusätzliche Zeile eingefügt wegen Formel in Spalte K - Code: Farb Tabelle 1 =WENN(ZÄHLENWENN(G$2:G2;G2)=1;MAX(K$1:K1)+1;"") 'Hochzählen ohne DuplikateFarb Tabelle 2 in K1 =MAX('Farben Tabelle 1'!K:K) 'Übertrag aus Tabelle 1 =WENN(UND(ZÄHLENWENN(G$2:G2;G2)=1;ZÄHLENWENN('Farben Tabelle 1'!G:G;G2)=0);MAX(K$1:K1)+1;"") 'weiteres Hochzählen ohne Duplikate mit einbeziehen der Werte von Farb Tabelle 1 In der Tabelle Anzahl, dann =WENN(ZEILE(A1)>MAX('Farben Tabelle 2'!K:K);"";WENN(ZEILE(A1)>MAX('Farben Tabelle 1'!K:K);INDEX('Farben Tabelle 2'!G:G;VERGLEICH(ZEILE(A1);'Farben Tabelle 2'!K:K;0));INDEX('Farben Tabelle 1'!G:G;VERGLEICH(ZEILE(A1);'Farben Tabelle 1'!K:K;0)))) 'um die Farbkombinationen aud Farb Tabelle 1 & 2 aufzulisten. =SUMMENPRODUKT(('Farben Tabelle 1'!$G$2:$G$110=K3)*1+('Farben Tabelle 2'!$G$2:$G$110=K3)*1) 'ergibt die Anzahl =L3/ANZAHL('Farben Tabelle 1:Farben Tabelle 2'!H:H) 'den % wert
Wenn A1-F38 händisch Bemalt werden, dann G2 und H2 runterkopieren. Code: Name Farbcode =ZELLE.ZUORDNEN(63;INDIREKT("ZS(-6)";))&"-"&ZELLE.ZUORDNEN(63;INDIREKT("ZS(-5)";))&"-"&ZELLE.ZUORDNEN(63;INDIREKT("ZS(-4)";))&"-"&ZELLE.ZUORDNEN(63;INDIREKT("ZS(-3)";))&"-"&ZELLE.Z UORDNEN(63;INDIREKT("ZS(-2)";))&"-"&ZELLE.ZUORDNEN(63;INDIREKT("ZS(-1)";))
braucht es noch ein Makro? 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: 23. Sep. 2010 08:56 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, Danke für deinen Einsatz! Die Datei dient allerdings nur als Muster für das bessere Verständnis! In meiner Tabelle, befinden sich jedoch 255 Register mit verschiedenen Farbkombinationen. Darum glaube Ich, dass mein Problem ohne VBA wohl kaum zu lösen ist. Ich müsste dann eine Formel erstellen, die alle 255 Tabellenblättern enthält. ------------------ 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: 23. Sep. 2010 09:11 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Moin, diese Info mit den 255 Blättern hätte Thomas bestimmt Zeit gespart. Ich hab ja schon Sonntag gesagt, dass es mit VBA wohl am Einfachsten sein wird. Was hast Du denn in der Zwischenzeit schon so versucht? Hast Du Dich mit dem Schnippsel oben schon ein wenig auseinander gesetzt? Wenn ja, mit welchem Ergebnis? Wenn nein, warum nicht? ------------------ 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 |
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: 23. Sep. 2010 10:09 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen runkelruebe! Ich hab in der Zwischenzeit gegoogelt ob nicht schon jemand anders das selbe Problem wie Ich hatte => leider NEIN Dann hab Ich mich mit deinem Schnipsel auseinander gesetzt. Leider sind meine VBA Kenntnisse so schwach, dass Ich nicht einmal das Zählen der Farbkombinationen in einem Tabellenblatt hinbekommen habe. Um das Problem zu vereinfachen, habe Ich alle möglichen 15625 Farbkombinationen von gelb, grün, violette, rot und blau in einem separaten Register erstellt. Somit habe Ich zumindest schon einmal die Farbkombinationen die vorkommen müssten. ------------------ 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: 23. Sep. 2010 10:39 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Hi, na das nenn ich aber schlechte Voraussetzungen. In diesem Forum soll normalerweise Hilfestellung gegeben und keine Auftragsprogrammierung angeboten werden. Sollte sich jetzt dazu jmd. berufen fühlen: Macht Preise bitte per PM aus Vielleicht findet sich aber auch noch eine treue Seele, die's Dir schreibt, man soll die Hoffnung nie aufgeben. Deine Aufgabe ist schon sehr speziell, ich hätte auch nicht erwartet, so etwas bei google zu finden... Fix&Fertig-Lösungen ohne eigenes Zutun vom Fragesteller mach ich nur, wenn ich Langeweile hab und/oder mich die Aufgabenstellung reizt. Der zweite Teil war erfüllt, der erste nicht Ich unterstelle Dir übrigens nicht, dass Du nicht willst, aber für Einsteiger ist Deine Aufgabe vielleicht nicht unbedingt geeignet, da mußt Du schon ein wenig Hausaufgaben machen vorher, sonst ist der Frust einfach zu groß, weil man gar nicht weiß, wo man anfangen soll bzw. was überhaupt geht. Wie kommst Du eigentlich zu der ehrenvollen Aufgabe, dieses Problem lösen zu müssen? -> Dem, der das veranlaßt hat nahelegen, dass man es selber nicht hinbekommt und Aufgabe weitergeben. Du fummelst da ja schon ne ganze Weile in mehreren threads dran rum, ich kann mir einfach nicht vorstellen, dass sich das rechnet... Solltest Du es dennoch selber weiter versuchen wollen: Eine mögliche Variante zum Zählen der Farbkombinationen auf einem Tabellenblatt steht übrigens oben und wird Dir im Debugfenster ausgegeben. (Es ist die Variable k die Dich da interessiert.) Vielleicht nicht das, was Du jetzt lesen wolltest, aber bevor Du weitere wertvolle Zeit durch Warten verplemperst... ------------------ 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 |
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: 23. Sep. 2010 11:47 <-- editieren / zitieren --> Unities abgeben:
Ich hab wie gesagt schon selber herumgebastelt und das ist dabei rausgekommen. Public Sub ZellenZählen() Dim rngBereich As Range Dim rngCell As Range Dim varInhalt() As Variant Dim lngZähler As Long Dim colInhalt As New Collection For i = 1 To ActiveWorkbook.Worksheets.Count Set rngBereich = ActiveWorkbook.Worksheets(i).Range("M1:M104") On Error Resume Next For Each rngCell In rngBereich colInhalt.Add rngCell.Value, "MB" & rngCell.Value Next rngCell On Error GoTo 0 ReDim varInhalt(1 To colInhalt.Count, 1 To 2) For lngZähler = 1 To UBound(varInhalt) varInhalt(lngZähler, 1) = colInhalt(lngZähler) varInhalt(lngZähler, 2) = Application.CountIf(rngBereich, colInhalt(lngZähler)) Next lngZähler Range("S1").Resize(UBound(varInhalt), 2).Value = varInhalt Next i End Sub In den Spalten G bis L lasse Ich mir per Formel die Zahlenwerte der Farben ausgeben. In Spalte M füge Ich die Zahlenwerte zusammen. Dann gibt mir das VBA Prog die Anzahl der Vorkommen aus => leider Falsch, da die einzelnen Kombinationen in den Tabellenblättern nicht zusammengezählt werden. Die Zwischenschritte mit den Formeln möchte Ich gerne ins VBA Prog bekommen. Mit deinem Code komme Ich mangels VBA Verständnis leider überhaupt nicht zurecht. ------------------ Mit freundlichen Grüßen CADdoctor [Diese Nachricht wurde von CADdoctor am 23. Sep. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Comos User Mitglied
Beiträge: 112 Registriert: 23.03.2010
|
erstellt am: 23. Sep. 2010 15:37 <-- editieren / zitieren --> Unities abgeben: Nur für CADdoctor
Hallo Doctor, mal schnell was zum knabern ohne Formel, ohne Hilfsspalten, es wird ein neues Blatt angelegt melde mich morgen noch mal Code: Option Explicit Sub Farben() Dim a%, b%, strFarbCode$, strTemp$, K% Dim summe As Double Dim Key As Variant Dim blatt As Worksheet Dim dic As Object Set dic = CreateObject("Scripting.Dictionary")For Each blatt In ActiveWorkbook.Worksheets For a = 4 To 103 strFarbCode = "" For b = 3 To 8 ' C bis H strFarbCode = strFarbCode & farbname(blatt.Cells(a, b).Interior.ColorIndex) & "/" Next b strFarbCode = Left(strFarbCode, Len(strFarbCode) - 1) If dic.Exists(strFarbCode) Then dic(strFarbCode) = dic(strFarbCode) + 1 Else dic.Add strFarbCode, 1 End If Next a Next summe = Application.WorksheetFunction.Sum(dic.Items) Set blatt = ActiveWorkbook.Worksheets.Add K = 1 For Each Key In dic.Keys 'Debug.Print Key & " = " & dic.Item(Key) & "x vorhanden, das entspricht " & Round((dic.Item(Key) / summe * 100), 2) & "%" blatt.Cells(K, 1).Value = Key blatt.Cells(K, 2).Value = dic.Item(Key) blatt.Cells(K, 3).Value = dic.Item(Key) / summe blatt.Cells(K, 3).NumberFormat = "0.00%" K = K + 1 Next End Sub Function farbname(index As Double) As String Select Case index Case xlColorIndexAutomatic farbname = "Auto" Case xlColorIndexNone farbname = "keine" Case 1 farbname = "schwarz" Case 2 farbname = "weiß" Case 3 farbname = "rot" Case 4 farbname = "grün" Case 5 farbname = "blau" Case 6 farbname = "gelb" Case 7 farbname = "magneta" Case 8 farbname = "cyan" Case 9 farbname = "braun" Case Else farbname = "Farbe[" & CStr(index) & "]" End Select End Function
Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |