1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Excel 2007; Berechnung

Discussion in 'Office-Programme' started by Petz1, Apr 5, 2009.

Thread Status:
Not open for further replies.
  1. Petz1

    Petz1 Byte

    Guten Abend liebe Forumfreunde.
    Ich will in meiner Exel 2007 Tabelle folgende Berechnung durchführen:
    In der Spalte C habe ich 15 Beträge (Zeile 3 bis 20). C21 ist die Summe. Bis daher ist alles OK.
    Zur besseren Übersicht habe ich den Beträge eine andere Farbe zugewiesen. Und zwar: überwiesene Beträge sind schwarz, noch zu überweisende Beträge sind grün. Nun möchte ich zusätzlich die Gesammtsumme der grünen Beträge und der schwarzen Beträge ausgeworfen haben, aber so, dass sich die beiden Summen (schwarz, grün) automatisch ändern sobald ich die Farbe von grün auf schwarz abändere.
    Ich hoffe ich habe mein Problem verständlich beschrieben und hoffe auf Eure Hilfe (Formel, Vorgehensweise etc.).
     
  2. Hascheff

    Hascheff Moderator

    Hallo Petz1,
    Schau mal in den Screeshoot im Anhang. Die Formel oben steht in C22 und muss nur in C23 kopiert werden.
     
  3. Petz1

    Petz1 Byte

    Hallo Hascheff,
    Ich danke Dir für diesen Vorschlag. Es ist zwar nicht ganz das was ich suchte, weil ich die Tabelle um einige Spalten erweitern muss. Aber ich versuche es trotzdem.
    Jedenfalls herzlichen Dank.
    Petz1
     
  4. Urs2

    Urs2 Megabyte

    Hallo Petz,

    Ohne Zusatzspalten geht das nur über eine "Benutzerdefinierte Funktion".
    Diese könnte Zellfarben/Schriftfarben auslesen und entsprechend getrennt addieren.

    Gruss Urs
     
  5. Petz1

    Petz1 Byte

    Danke Urs. Ich werde mich gleich schlau machen. Ich hoffe, dass ich die "Benutzerdefinierte Funktion" und die entsprechende Formel finde.
    Liebe Grüsse
    Petz1
     
  6. Urs2

    Urs2 Megabyte

    ...naja, die wachsen nicht auf Bäumen... deren Definition ist... dass sie eben der Benutzer selbst definiert...

    Versuche es mit dieser Funktion >

    - Betroffene Datei öffnen > VB-Editor öffnen > zu VBAProject(NameDeinerDatei) gehen >>>
    - Menü Einfügen > Modul >>> Doppelclick auf das neue Modul1 >>>
    - Rechtes Feld > diesen ganzen Code hinein kopieren >>>

    Code:
    Option Explicit
    
    Public Function SummeWennGruen(ZahlenFeld As Range, BeispielFarbe As Range)
    
    Dim colIndex As Integer, sumG As Double, rCell As Range
    
    Application.Volatile True
                                'liest Farbnummer aus Beispielzelle
    colIndex = BeispielFarbe.Font.ColorIndex
                                'addiert Zellinhalte mit gleicher Farbe wie in Beispielzelle
    For Each rCell In ZahlenFeld
        If rCell.Font.ColorIndex = colIndex Then sumG = sumG + WorksheetFunction.Sum(rCell)
    Next rCell
                                'gibt "grüne" Summe an Zelle zurück
    SummeWennGruen = sumG
    
    End Function
    
    
    Funktion >

    - irgendwo auf dem Blatt eine Zelle mit grüner Schrift als Beispiel formatieren (damit auch nach dem richtigen Grün gezählt wird)

    - Dort wo die Summe der Grünen hin soll > Funktionen aufrufen > unter benutzerdefiniert "SummeWennGruen" wählen

    - im Eingabefenster die Bereiche für Zahlenkolonne und BeispielZelle eingeben >>>>> Fertig

    Das Berechnen der schwarzen Zahlen >>> SummeTotal - SummeGrün = SummeSchwarz

    Kleiner Haken >>>
    Mit Application.Volatile im Code werden zwar bei jeder Zahlenänderung die Berechnungen der Formeln nachgeführt...
    ...das alleinige Aendern der Farbe ist aber für Excel kein Grund zum Neuberechnen...
    Also ggf. mit F9 erzwingen !

    Ich habe jetzt angenommen Du färbst die Zahlen, wenn Du aber den Zellhintergrund färbst >
    > im Code zwei mal das Wort .Font. durch .Interior. ersetzen.

    Gruss Urs
     
Thread Status:
Not open for further replies.

Share This Page