Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Farbsumme Zählen

Farbsumme Zählen
16.04.2007 12:04:45
Marco
Hallo zusammen!
ich habe da mal ein hoffentlich kleines problem!
ich möchte in einer exeldatei(Nr.1) die anzahl der zellen einer zeile mit gleich gefärbtem hintergrund zählen und in einer anderen exeldatei(Nr.2), diese summe bei betätigen eines commandbutton in bestimmten zellen schreiben und aktualisieren.
nun habe ich diese zählfunktion in einem modul der datei Nr.1 eingefügt

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


und will durch diese prozedur, welche ich in der tabelle der datei Nr.2 geschrieben habe


Public Sub CommandButton1_Click()
Call Farbsumme
End Sub


diese summe durch das betätigen des Buttons, in die zellen der datei Nr.2 schreiben, wo dieser befehl steht
=Farbsumme_Hintergrund(B1:B100;44)
(wobei B1:B100 den Zählbereich der Tabelle Nr.1 darstellt und 44 die farbe ist die er zählen soll)
nun springt er auf call farbesumme
und schreibt fehler beim kompilieren, Sub oder function nicht definiert
ich hab schon alles mir mögliche versucht, aber ich raff es nicht was fehlt oder anders muss
ich hoffe dies ist wirklich kein großes problem und mir kann schnell jemand helfen, da ich dies unbedingt benötige.
Vielen Dank im voraus
Gruß Marco

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

Betreff
Datum
Anwender
Anzeige
AW: Farbsumme Zählen
16.04.2007 12:18:00
Rudi
Hallo,
so geht das:

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


In die Zelle: =Farbsumme(B1:B100) oder so
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Farbsumme Zählen
16.04.2007 12:39:51
Marco
Schönen dank für die schnelle antwort rudi!
problem besteht aber weiterhin zusätzlich makiert er
Public Sub CommandButton1_Click()
gelb und gibt die gleiche fehlermeldung zurück.(fehler beim kompilieren, Sub oder function nicht definiert)
wäre nett wenn du mir nochmals weiterhelfen könntest
gruß
marco

Anzeige
AW: Farbsumme Zählen
16.04.2007 12:49:00
Rudi
Hallo,
du brauchst keinen Commandbutton. Das funktioniert wie eine normale Excel-Funktion.
=Farbsumme(B1:B100;3) summiert rote Zellen.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Farbsumme Zählen
16.04.2007 13:24:00
Marco
hallo rudi, ich bins nochmal!
nun hab ich den button weggelassen!
wenn ich nun in der selben datei, wo auch die funktion steht, in dem tabellenblatt den befehl =Farbsumme(B1:B100;45) eingebe, gibt er mir den inhalt aller zellen, mit dieser hintergrundfarbe, zusammenhängend wieder aber nicht die anzahl der zellen. und wenn ich den befehl über eine andere datei ausführe, wie ich es ja eigentlich machen will, dann dann erscheint dort #NAME?
was muss ich ändern?
gruß marco

Anzeige
AW: Farbsumme Zählen
16.04.2007 13:58:39
Rudi
Hallo,
Schreibe die Funktion doch einfach in die Datei, in der du sie nutzt.
Für das Zählen brauchst du eine 2. Funktion.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Farbsumme Zählen
16.04.2007 15:04:00
Marco
sorry das ich so schwer von begriff bin und dich ständig nerve!
aber ich will doch das in der einen datei die zellen einer bestimmten farbe gezählt werden (also hab ich dort die funktion eingefügt) und ich diese anzahl in einer anderen datei in bestimmten zellen darstellen oder einlesen will. und ich weiß jetzt nicht weiter ob das mit irgendwelchen formationen, deklaration oder weiß nicht zu tun hat.
aber was meinst du denn mit ner zweiten funktion. wie würdest du das dann anstellen mit ner zweiten funktion, wenn das so nicht geht wie ich es mir vorgestellt habe. hast du nen beispiel?
gruß marco

Anzeige
AW: Farbsumme Zählen
16.04.2007 15:50:00
Rudi
Hallo,
in ein Modul in der Datei, in der du die Funktion benutzt (Auswertedatei):

Public Function FarbSumme(rngBereich As Range, intFarbe As Integer) As Double
Dim rngZelle As Range
Application.Volatile
For Each rngZelle In rngBereich
If rngZelle.Interior.ColorIndex = intFarbe And IsNumeric(rngZelle) Then FarbSumme =  _
FarbSumme + rngZelle
Next
End Function



Public Function FarbAnzahl(rngBereich As Range, intFarbe As Integer) As Long
Dim rngZelle As Range
Application.Volatile
For Each rngZelle In rngBereich
If rngZelle.Interior.ColorIndex = intFarbe Then FarbAnzahl = FarbAnzahl + 1
Next
End Function


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Farbsumme Zählen
16.04.2007 19:46:30
Marco
rudi ist der beste!
schönen dank für deine geduld mit mir. jetzt funktioniert :o)
das einzige was du jetzt noch machen könntest, wäre mir kurz zu erklären, warum das so funktioniert und meine version nicht.
aber mußt du auch nicht machen, hab dich ja schon genug genervt.
vielen dank nochmal!
gruß marco

AW: Farbsumme Zählen
16.04.2007 21:49:00
Rudi
Hallo,
eine Function gibt nur einen Wert zurück. Und zwar den. wie sie heißt. Das was du haben wolltest (Farbsumme_Hintergrund) ist ein Argument, dass du an die fnc übergeben müsstest, aber kein Rückgabewert. Functions funktionieren im Endeffekt genauso wie die eingebauten Excelfunktionen =Funktion(Argument;Argument;....)
Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige