Zellen steuern mit Farbe

Dieses Thema Zellen steuern mit Farbe im Forum "Microsoft Office Suite" wurde erstellt von Frank Kaminski, 2. Juli 2006.

Thema: Zellen steuern mit Farbe Hallo @ All, Ich hoffe jemand kann mir helfen und zwar möchte Ich in einer Excel Tabelle eine Summe aus mehren...

  1. Hallo @ All,
    Ich hoffe jemand kann mir helfen und zwar möchte Ich in einer Excel Tabelle eine Summe aus mehren Zellen erhalten das ist auch noch nicht mein Problem aber ich möchte gerne wenn ich die Zellen mit einer Füllfarbe ausmale das diese dann nicht mehr gerechnet wird. Ist so was möglich?
    Danke schon mal für die Hilfe.
    Mit freundlichen Grüßen Kaminski
     
  2. Hallo Frank,

    mit einer slebstgeschriebenen Makro-Function wäre das möglich.

    Suchst Du sowas ?
    Wie sieht denn dein Summen-Aufruf (Formel) aus ?

    Gruß Matjes :) [br][br]Erstellt am: 02.07.06 um 15:30:00[hr][br]Hallo Frank,

    Die selbstgeschrieben Summen-Funktion sähe so aus:
    Code:
    Function SummeOhneFarbe(ParamArray c() As Variant) As Variant
    
      Dim r As Range, Zelle As Range
      Dim dSumme As Double, x As Long
      
      On Error Resume Next
      
     ->über alle angegebenen Bereiche
      For x = LBound(c) To UBound(c)
       ->Bereich setzen
        Set r = c(x)
        If Err.Number <> 0 Then
         ->Bereichsangabe fehlerhaft -> #WERT setzen
          SummeOhneFarbe = CVErr(xlErrValue)
          GoTo AUFRAEUMEN
        Else
         ->alle Zellen des Bereichs untersuchen
          For Each Zelle In r
            With Zelle
             ->numerischer Inhalt ?
              If IsNumeric(.Value) Then
               ->Farbindex der Zelle gesetzt?
                If .Interior.ColorIndex = xlColorIndexAutomatic Or _
                   .Interior.ColorIndex = xlColorIndexNone Then
                 ->nein -> aufsummieren
                  dSumme = dSumme + .Value
                End If
              End If
            End With
          Next
        End If
      Next
      
      SummeOhneFarbe = dSumme->Rückgabe
    AUFRAEUMEN:
      On Error GoTo 0
      Set r = Nothing: Set Zelle = Nothing
    End Function
    Dieses Makro muß in einem Modul liegen.

    Vorgehensweise:
    a) deine Excel-Datei öffnen
    b) mit Alt+F11 VB-Editor öffnen
    c) im Projektfenster mit rechter Maustaste auf VBAProject(Dein Dateiname)
    und im sich öffnenden Context-Menu Einfügen->Modul wählen
    Es öffnet sich ein Fenster DeinDateiname - Modul1 (Code)
    d) Makro per Copy und Paste in dieses Fenster kopieren
    e) Speichern mit Alt+S
    f) VB-Editor schliessen mit Alt+Q

    So, jetzt hast Du eine Summen-Funktion SummeOhneFarbe, die nur die nicht mit einem Farbhintergrund belegten Zellen summiert.

    Du kannst diese Funktion in Formeln wie die Summe-Funktion benutzen. Finden kannst du sie beim Formelschreiben unter weitere Funktionen-> benutzerdefiniert.


    Einen Haken hat die Sache nun noch - Farbänderungen ändern die Zelle nicht - und deshalb wird die Funktion nicht ausgeführt, wenn nur der Hintergrund einer Zelle geändert wird. Auch ein F9 auf die Summenformel führt zu keiner Neuberechnung. Auf normale Änderungen reagiert die Funktion wie die Funktion->Summe'.

    Mit einem kleinen Trick kann man Excel zur Neuberechnung anregen, indem man eine Zelle, die sonst nicht benötigt wird, mit in die Summenformel aufnimmt und deren Wert auf 0 setzt (also keine Verfälschung der Summe).

    Beispiel:
    Vorher:
    =SummeOhneFarbe(A3:A12;B3:B12)
    Mit der unbenutzten Zelle A2:
    =SummeOhneFarbe(A2;A3:A12;B3:B12)

    Wenn man jetzt A2 ändert, wird die Formel auf jeden fall neu berechnet.
    Also z.B. von 0->1 und wieder zurück 1->0.
    Für diese Änderung wird ein kleiner Makro eingesetzt.
    Code:
    Sub FreiZelleToggeln_0_1_0()
      Const FREIEZELLE = A2
      Range(FREIEZELLE).Value = 0
      Range(FREIEZELLE).Value = 1
      Range(FREIEZELLE).Value = 0
    End Sub
    Diesen Makro kopierst Du auch ins Modul1 (siehe oben)

    Die Konstante FREIEZELLE passt Du deinen Gegebenheiten an.
    z.B. änderst Du A2 zu X25

    Nicht vergessen die freie Zelle auch in die Summenformel mit aufnehmen.

    Wenn Du jetzt eine Zelle der Summe farbig markierst und anschliessend das Makro FreiZelleToggeln_0_1_0() ausführst, wird die summe neu berechnet.

    Den Makro FreiZelleToggeln_0_1_0() kann man jetzt noch auf einen Button legen.

    a) Mit Ansicht->Symbolleisten->Steuerelement Toolbox machst Du die Werkzeugleiste Toolbox sichtbar.
    b) Klicke die->Befehlsschaltfläche' an.
    c) setze eine Befehlschaltfläche unterhalb deiner Summenformel
    d) diese Befehlsschaltfläche mit der rechten Maustaste anklicken und aus dem Kontext-Menu

    'Befehlsschaltflächen-Objekt'->Bearbeiten wählen
    Den Buttontext z.b. in->Summe aktualisieren' ändern
    e) den Button mit der linken Maustaste doppelt klicken
    Es öffnet sich die Code-Seite des Blattes.
    f) die Funktion
    Code:
    Private Sub CommandButton1_Click()
    
    End Sub
    in
    Code:
    Private Sub CommandButton1_Click()
      Call FreiZelleToggeln_0_1_0
    End Sub
    ändern
    g) auf der Steuerelement Toolbox das->Dreieck mit Lineal und Bleistift' anklicken
    (Bedeutung: Entwurfsmodus beenden)
    Damit sollten die Markierungseckpunkte des Buttons verschwinden.


    So jetzt ausprobieren.
    a) eine Summenzelle farbig setzen.
    b) Button->Summe aktualisieren' drücken

    Gruß Matjes :)
     
  3. Hallo Matjes,

    Danke für die Hilfe so was suche ich aber es klapp noch nicht bin woll zu blöd dafür.
    Habe es nach deiner super anleitung (Note 1+++) gemacht aber es wird nichts zusammen gerechnet.
    Kann das vieleicht mit der Formatierung der Zellen zusammen hängen? habe diese mit Währung Formatiert.
    Vieleicht habe ich bei der auswahl der zu Berechnenen Zellen was falsch gemacht.
    Wenn ich die Funktion Summeohne Farbe anwähle kommt doch das Fenster (Funktionsargument) in der ersten Zeile steht ein C und in der zweiten Zeile ... was muß ich denn wo eintragen?

    Gruß Frank
     
  4. Hallo Goldfinger,

    zu
    Da können mehrere Bereiche angegeben werden, in jedem Feld einer.
    (Vielleicht hätte ich den ParamArray C() besser JeweilsEinBereich () genannt. Oder ich ändere das noch so, wie es bei der Summen-Funktion ist Zahl1, Zahl2, .., Zahl5 )

    Mit Währung funktioniert es bei mir. Wenn Du mir deine Datei oder einen Auszug schickst, schau ich mal woran es liegt.

    Gruß Matjes :)
     
  5. Hallo Matjes,

    Ich Glaube ich habs jetzt!
    Hatte Als Füllung Weiß dadurch hat es nicht funktioniert.
    Habe jetzt die Zellen ohne Füllung und es klappt.
    Echt Geil Danke für deine Hilfe.

    Gruß Frank
     
Die Seite wird geladen...

Zellen steuern mit Farbe - Ähnliche Themen

Forum Datum
Einzelne Zellen in Spalte bedingt Formatieren Microsoft Office Suite 16. Mai 2016
Hintergrundfarbe hinter ausgeblendeten Zellen und Spalten.... Microsoft Office Suite 20. Okt. 2015
Zellen je nach Inhalt automatisch in richtige Spalte verschieben Microsoft Office Suite 15. Juli 2013
Zellenbereich automatisch farbig markieren Windows XP Forum 1. März 2013
Zelleninhalte automatisch verschieben Microsoft Office Suite 27. Feb. 2013