Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
620to624
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Farbige Zellen eines Bereiches addieren

Farbige Zellen eines Bereiches addieren
06.06.2005 10:31:49
Indalo
Ich möchte Zellen mit unterschiedlich gefärbtem Hintergrund addieren. Ich habe hierzu eine VBA-Funktion geschrieben. Ich habe die Funktion in der personl.xls gespeichert und den gegebenen Namen "SummeFarbe" (ohne Gänsefüsschen) deklariert. Nun erhalte ich statt einer Summe den Vermerk #BEZUG?, kann aber nicht erkennen, wo der Fehler liegt, da dieser Fehler von der Funktion ausgelöst sein muss, die aber prima vista ohne Fehler compiliert wird.
Weiss vielleicht "ransi" oder jemand anderer Bescheid?
Code meiner Funktion: https://www.herber.de/bbs/user/23655.txt
Vielen Dank vom Bodensee (Schweizerseite)
Indalo

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbige Zellen eines Bereiches addieren
06.06.2005 11:39:00
ChrisSp
Hi,
ich habe deine Funktion eben mal ausprobiert, bei mir ist sie gelaufen, ich habe nur ne kleine Änderung nachträglich gemach ( OR durch AND ersetzt), da die Funktion sonst meiner Meinung nach nicht viel bringt: "If a.Interior.ColorIndex > 0 And a.Interior.ColorIndex Hast du evtl. irgendwelche Formatierungen drin? Wie hast du den Bereich angegeben?
Evtl. kannst du ja mal ne Beispiel schicken
Gruss
Chris
AW: Farbige Zellen eines Bereiches addieren
06.06.2005 14:10:24
Indalo
Die ganze Exceldatei "Smart1" unter: https://www.herber.de/bbs/user/23661.xls
Zwei Varianten möglicher Funktionen "Farbsumme" (von Herbert) und "SummeFarbe" (verbessert von Chris) sind im personl.xls vorhanden. Der Aufruf erfolgt z.B. mit dem Funktionsnamen "Name"(B3:B120).
Ich steh am Berg und danke im voraus für den Anschub Richtung Bodensee (Schweizerseite)
Indalo
Anzeige
AW: Farbige Zellen eines Bereiches addieren
06.06.2005 15:11:36
ChrisSp
Das müsste an den Buchstaben in der Liste liegen, deine Funktion verträgt nur Zahlen.
Leider muss ich jetzt kurz weg - ich schau nachher nochmal rein. Die Funktion muss nur geringfügig (hoffentlich) verändert werden
Gruss
Chris
AW: Farbige Zellen eines Bereiches addieren
06.06.2005 16:16:48
Indalo
An Chris: Leider sind es nicht die Buchstaben in den Zellen, da ich nicht die Farbcodes addiere, sondern den Zellinhalt. Excel addiert nur die Ziffern, auch wenn in einigen Zellen Buchstaben vorhanden sind. Ausserdem habe ich die Buchstaben nur in der Kolonne C. Kolonnen D und E sind davon nicht betroffen, zeigen aber die gleiche Fehlermeldung (#BEZUG?). Aber ich hoffe auf Deine Erleuchtung, wenn Du zurück bist ;-))
Gruss Indalo
Anzeige
Hat wohl doch etwas länger gedauert ;o)
07.06.2005 08:25:14
ChrisSp
Hi Indalo,
sorry - hat gestern nicht mehr geklappt. Aber nu, mir ist aufgefallen, dass der Name der Funktion in deiner Tabellen nicht mit dem Namen in deinem ersten Threat übereinstimmt - schau mal ob du überall den gleichen Namen verwendest. Sonnst ging´s bei mir, außer halt das mit den Buchstaben. Hier mein kompletter Vorschlag:
Public

Function SummeFarbe(Bereich As Object) As Double
Dim s As Double
Dim a As Object
Application.Volatile
s = 0
For Each a In Bereich
If a.Interior.ColorIndex > 0 Or a.Interior.ColorIndex < 57 Then
If IsNumeric(a.Value) Then
s = s + a.Value
End If
End If
Next
SummeFarbe = s
End Function

In deiner Exceltabelle musst du also die Funktion SummeFarbe aufrufen, ich würde es über den Formelassistenten machen (benutzerdefinierte Formeln)
Gruss
Chris
Anzeige
AW: Farbige Zellen eines Bereiches addieren
06.06.2005 11:45:50
Harald
Hi Indalo,
das liegt meiner Meinung nach an der Variablen-Deklaration. Wenn Du Zellen durchsuchen willst, handelt es sich eher um Range als um ein Object.
Ich hab dir mal ein funktionierendes Beispiel reinkopiert (nicht für Färbung, aufgrund bedingter Formatierung !!)

Function Farbsumme(Bereich As Range, Farbe As Integer)
Application.Volatile
Dim Zelle
Farbsumme = 0
For Each Zelle In Bereich
If Zelle.Interior.ColorIndex = Farbe Then
Farbsumme = Farbsumme + 1
End If
Next
End 

Function
Gruß
Harald

Anzeige
AW: Farbige Zellen eines Bereiches addieren
06.06.2005 14:12:47
Indalo
Die ganze Exceldatei "Smart1" unter: https://www.herber.de/bbs/user/23661.xls
Zwei Varianten möglicher Funktionen "Farbsumme" (von Herbert) und "SummeFarbe" (verbessert von Chris) sind im personl.xls vorhanden. Der Aufruf erfolgt z.B. mit dem Funktionsnamen "Name"(B3:B120).
Ich steh am Berg und danke im voraus für den Anschub Richtung Bodensee (Schweizerseite)
Indalo
AW: Farbige Zellen eines Bereiches addieren
06.06.2005 14:43:32
Harald
Hi nochmal,
hab gleich Feierabend (yesss). Daher nur was auf die Schnelle zum Anpassen.
versuchs mal so:

Sub Farbsumme()
Dim n
Dim i As Integer
n = 0
For i = 2 To 172 'Zeilennummer anpassen
If Cells(i, 1).Interior.ColorIndex > 0 Then
n = n + Cells(i, 1).Value
End If
Cells(178, 1) = n
Next i
End Sub

Gruß
Harald
Anzeige
AW: Farbige Zellen eines Bereiches addieren
06.06.2005 16:29:39
Indalo
Einen ganz schönen Yesss-Feierabend! Deiner Prozedur konnte ich nicht folgen, auch mein Rechner nicht. Ich habe die Zeilennummern angepasst, wie angegeben:
oben: For i = 3 To 120
unten: Cells(120, 1) = n
Ich bräuchte aber eine Funktion, die ich parametrisieren kann über die Eingabe
wie: =Zellfarbsumme(A1:A100)
und die mir die Summe der Beträge in allen farbigen Zellen (jede Farbe zwischen Farbcode 1 und 56) des parametrisierten Bereiches angibt.
Vielleicht hast Du nach einem fröhlichen Feierabend noch eine andere Idee? Vielen Dank im voraus vom (bedeckten) Bodensee (Schweizerseite)
Indalo
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige