Autor
|
Thema: Bedingte Formatierung (1182 mal gelesen)
|
inv-Kristof Mitglied Dipl-- Ing. (FH)
Beiträge: 1135 Registriert: 01.01.2004 HP 8710w, Win Vista 64x, IV 2009 SP2 Intel® Core™ 2 Duo T9500 2,6 GHz, 4 GB RAM nVidia® Quadro FX 3600M, 17" 1920x1200 ---------------- AMD 64bit 3200+; 2GB DDR400 GeForce 6600GT 128MB Win Vista 64x IV 2009 SP2
|
erstellt am: 07. Jul. 2005 14:34 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe wieder ein Problem mit der Formelaufstellung. In die Spalte B:B werden die Beträge eingetragen und manche von denen entsprechend formatiert (rot). Und jetzt soll so eine Formel aufgestellt werden, die die Summe der Spalte B:B berechnet. Dabei soll nur die Summe dieser Beträge ermittellt werden, die rot formatiert sind. Gruß Kristof Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 07. Jul. 2005 14:40 <-- editieren / zitieren --> Unities abgeben: Nur für inv-Kristof
Hi, kannst du uns noch das Kriterium verraten ? Oder ist es Top-Secret ? Da die Berechnung zT vom Kriterium abhängt ist dies sehr massgebend. Sollen zB alle Werte summiert werden, die zB >5 sind,, lautet die Formel =SUMIF(B1:Bxx;">5";B1:Bxx) (jetzt nur so als Beispiel - die Formel hängt aber wie gesagt vom Kriterium ab...) ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
inv-Kristof Mitglied Dipl-- Ing. (FH)
Beiträge: 1135 Registriert: 01.01.2004 HP 8710w, Win Vista 64x, IV 2009 SP2 Intel® Core™ 2 Duo T9500 2,6 GHz, 4 GB RAM nVidia® Quadro FX 3600M, 17" 1920x1200 ---------------- AMD 64bit 3200+; 2GB DDR400 GeForce 6600GT 128MB Win Vista 64x IV 2009 SP2
|
erstellt am: 07. Jul. 2005 21:56 <-- editieren / zitieren --> Unities abgeben:
|
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 07. Jul. 2005 21:58 <-- editieren / zitieren --> Unities abgeben: Nur für inv-Kristof
aha - sehr gut ! Jetzt fehlt eigentlich nur noch die Antwort auf meine eigentliche Frage: Nach welchem Kriterium werden sie rot formatiert ? ------------------ Grüsse Thomas EDIT: Oder werden die gar nicht über eine bedingte Formatierung rot formatiert ? [Diese Nachricht wurde von tunnelbauer am 07. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
inv-Kristof Mitglied Dipl-- Ing. (FH)
Beiträge: 1135 Registriert: 01.01.2004 HP 8710w, Win Vista 64x, IV 2009 SP2 Intel® Core™ 2 Duo T9500 2,6 GHz, 4 GB RAM nVidia® Quadro FX 3600M, 17" 1920x1200 ---------------- AMD 64bit 3200+; 2GB DDR400 GeForce 6600GT 128MB Win Vista 64x IV 2009 SP2
|
erstellt am: 07. Jul. 2005 22:26 <-- editieren / zitieren --> Unities abgeben:
|
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 07. Jul. 2005 23:23 <-- editieren / zitieren --> Unities abgeben: Nur für inv-Kristof
Hallo Christoph, um mal alle Klarheiten zu beseitigen, hake mal an was Du meintest: [ ] ich habe Zellen einfach manuell, zB mit roter Schrift formatiert [ ] ich habe Zellen ein benutzerdefiniertes Format verpasst, was rote Schrift beinhaltet [ ] ich habe Zellen eine bedingte Formatierung [max. 3 Bedingungen] vergeben Warum ich jetzt so nachhake hat einfach den Hintergrund, dass: wenn ersteres, okay bekommt man mit VBA relativ easy in den Griff zweiters, dito geht auch noch irgendwie ... bei letzterem würde es dann richtig heftig ... Deswegen, einfach nochmal nachgehakt, auch wenn ich vermute, du meinst Letzteres;-) Da hat Thomas recht, es kommt dann auf die gesetzten Bedingungen an, du kannst die Colors, also zB alle 'Roten' nicht so einfach addieren, sondern nur maximal anhand der Bedingungen auswerten und zusammenzählen;-) lg Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
inv-Kristof Mitglied Dipl-- Ing. (FH)
Beiträge: 1135 Registriert: 01.01.2004 HP 8710w, Win Vista 64x, IV 2009 SP2 Intel® Core™ 2 Duo T9500 2,6 GHz, 4 GB RAM nVidia® Quadro FX 3600M, 17" 1920x1200 ---------------- AMD 64bit 3200+; 2GB DDR400 GeForce 6600GT 128MB Win Vista 64x IV 2009 SP2
|
erstellt am: 07. Jul. 2005 23:55 <-- editieren / zitieren --> Unities abgeben:
Hallo Nancy, ich habe die Zellen manuell mit roter Schrift formatiert und nur die Werte, die so formatiert sind, müssen summiert werden. ich hoffe, ich habe jetzt Euch eine Klarheit gegeben. Gruß Kristof Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bst Mitglied
Beiträge: 192 Registriert: 31.08.2004 .
|
erstellt am: 08. Jul. 2005 07:45 <-- editieren / zitieren --> Unities abgeben: Nur für inv-Kristof
Auch Hallo, versuch mal sowas: =SummeHF(B1:B20;3) =SummeVF(B1:B20;3) VF = Vordergrundfarbe, HF = Hintergrundfarbe sowie folgende Teile in einem normalen Modul. Aktialisiert sich nicht von alleine, wenn sich eine Farbe ändert ! CU, Bernd -- Option Explicit Public Function SummeHF(src As Range, col As Long) As Double Dim cell As Range SummeHF = 0 For Each cell In src If cell.Interior.ColorIndex = col Then SummeHF = SummeHF + cell.Value Next End Function Public Function SummeVF(src As Range, col As Long) As Double Dim cell As Range SummeVF = 0 For Each cell In src If cell.Font.ColorIndex = col Then SummeVF = SummeVF + cell.Value Next End Function Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
inv-Kristof Mitglied Dipl-- Ing. (FH)
Beiträge: 1135 Registriert: 01.01.2004 HP 8710w, Win Vista 64x, IV 2009 SP2 Intel® Core™ 2 Duo T9500 2,6 GHz, 4 GB RAM nVidia® Quadro FX 3600M, 17" 1920x1200 ---------------- AMD 64bit 3200+; 2GB DDR400 GeForce 6600GT 128MB Win Vista 64x IV 2009 SP2
|
erstellt am: 08. Jul. 2005 15:22 <-- editieren / zitieren --> Unities abgeben:
Hallo, mit dem Maro funktioniert es ganz nicht schlecht. Nun wenn ich die Formatierung ändere muss ich jedes mal die Zelle mit der Formel bearbeiten, um die zu aktualisieren. Ich habe noch was vergessen. Die Formel soll auch die rechts stehende Zellen berücksüchtigen (siehe Anhang), d.h., wenn eine Zahl neben einem Betrag auftaucht, soll sie mit dem benachbarten Betrag multiplizert werden, wobei diejenigen Zahlen, die als Maßangabe angegeben werden, nicht mitberücksichtigt bzw. nicht multiplizert werden sollen. Gruß Kristof [Diese Nachricht wurde von inv-Kristof am 08. Jul. 2005 editiert.] [Diese Nachricht wurde von inv-Kristof am 08. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 09. Jul. 2005 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für inv-Kristof
Hi Kristof, habe mal Bernd's VF-Function umgestrickt, musst mal schauen, obs passt, ist nur ein Ansatz. Aber, jetzt werden alle 'bunten' addiert, auch gemixte, brauchst halt nix mehr umstellen, ob das allerdings soviel Sinn macht? ;-) Ich würde den zweiten Parameter eher dann doch wieder einbinden.
Code:
Function VF(src As Range) As Double Dim cell As Range Application.Volatile If src.Columns.Count <> 1 Then Exit Function For Each cell In src If cell.Font.ColorIndex <> xlAutomatic Then If cell.Offset(0, 1) <> "" And cell.Offset(0, 1).NumberFormat = "General" Then VF = VF + (cell.Offset(0, 1).Value * cell.Value) Else VF = VF + cell.Value End If End If Next End Function
Gruss Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
inv-Kristof Mitglied Dipl-- Ing. (FH)
Beiträge: 1135 Registriert: 01.01.2004 HP 8710w, Win Vista 64x, IV 2009 SP2 Intel® Core™ 2 Duo T9500 2,6 GHz, 4 GB RAM nVidia® Quadro FX 3600M, 17" 1920x1200 ---------------- AMD 64bit 3200+; 2GB DDR400 GeForce 6600GT 128MB Win Vista 64x IV 2009 SP2
|
erstellt am: 11. Jul. 2005 11:51 <-- editieren / zitieren --> Unities abgeben:
Hallo Nancy, da ich keine Erfahrung mit Makros habe, komme ich mit deinem Ansatz nicht weiter. ich habe dein Ansatz einfach mal dem Bernd's Makro hinzugefügt und funktioniert nicht. Nochmal zu meinem zweiten, im vorherigen Beitrag, erwähnten Problem. Kann man nicht über eine Excel-Funktion irgendwie die rechtsstehende Zahlen berücksichtigen (siehe Beitrag oben) Gruß Kristof Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 11. Jul. 2005 12:13 <-- editieren / zitieren --> Unities abgeben: Nur für inv-Kristof
Hi Kristof, wie hinzugefügt? Du hast die Function in dasselbe Modul kopiert, wie wo Bernds Function steht? Sollte no Prob sein;-) Bernd's Funktion reagiert auf: =SummeVF(B1:B20;3) meine auf: =VF(B1:B20) Allerdings geht meine nur innerhalb einspaltiger Bereiche, da Du ja ggf. noch mit den Nachbarzellen rechnen willst. Sonst erklär' mal was nicht geht oder ob bzw. was für ein Fehler kommt. lg Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
inv-Kristof Mitglied Dipl-- Ing. (FH)
Beiträge: 1135 Registriert: 01.01.2004 HP 8710w, Win Vista 64x, IV 2009 SP2 Intel® Core™ 2 Duo T9500 2,6 GHz, 4 GB RAM nVidia® Quadro FX 3600M, 17" 1920x1200 ---------------- AMD 64bit 3200+; 2GB DDR400 GeForce 6600GT 128MB Win Vista 64x IV 2009 SP2
|
erstellt am: 11. Jul. 2005 13:12 <-- editieren / zitieren --> Unities abgeben:
Hallo Nancy, in demselben Modul funktioniert leider nicht. Wenn ich aber ins neue deine Funktion kopiere, funktioniert einwandfrei. Weißt du zufällig, wie ich das mit Nachbarnzellen hinkriege? Brauche ich auch dazu ein Makro? Gruß Kristof Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 11. Jul. 2005 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für inv-Kristof
|
inv-Kristof Mitglied Dipl-- Ing. (FH)
Beiträge: 1135 Registriert: 01.01.2004 HP 8710w, Win Vista 64x, IV 2009 SP2 Intel® Core™ 2 Duo T9500 2,6 GHz, 4 GB RAM nVidia® Quadro FX 3600M, 17" 1920x1200 ---------------- AMD 64bit 3200+; 2GB DDR400 GeForce 6600GT 128MB Win Vista 64x IV 2009 SP2
|
erstellt am: 11. Jul. 2005 14:03 <-- editieren / zitieren --> Unities abgeben:
|