Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
700to704
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
700to704
700to704
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Farben zählen

Farben zählen
02.12.2005 05:31:51
Artur
Hallo User,
ich habe ein Problemm. Ich muss innerhalb einer Mappe auf 52 Blattern (52 KW's)in jeweis 16 Zeilen bis zu 9 unterschiedliche Farbe (Rot, Grün, Blau, Violet, hellrosa usw. ) zählen. Im Moment bewerkstellige ich dies mittel einer If-Abfrage für jedes Blatt, für jede Zeile und jede Farbe einzel. Die Laufzeit und der Umfang dieses Macros steigt enorm an. Gibt es eine Möglichkeit die ganze Prozedur zu verkürzen, so das sich die Laufzeit von Minuten auf Sekunden verkürzt.
Für Eure Hilfe wäre ich dankbar.
Gruß Artur

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farben zählen
02.12.2005 05:57:22
Hajo_Zi
Hallo Artur,
ich lehne es ab über das Internet auf fremde REchner zu schauen. Code wäre da schon mal nicht schlecht.


AW: Farben zählen
02.12.2005 08:01:30
WernerB.
Hallo Artur,
wenn die Hintergrundfarben der Zellen nicht über bedingte Formatierung erzeugt wurden, kannst Du auch eine benutzerdefinierte Funktion verwenden (siehe nachstehendes Beispiel).
An diese Funktion müssen nur der zu durchsuchende Bereich und die Farbnummer (z.B. "3" für die Farbe Rot) übergeben werden.

Sub Artur()
MsgBox CountColor(Sheets("Tabelle1").Range("D3:D20"), 3) & _
" rote Zellen im Bereich !"
End Sub


Function CountColor(Rng As Range, iColor As Integer)
Dim rngAct As Range, _
iCount As Integer
For Each rngAct In Rng.Cells
If rngAct.Interior.ColorIndex = iColor Then
iCount = iCount + 1
End If
Next rngAct
CountColor = iCount
End Function

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Farben zählen
02.12.2005 20:11:23
Ralf
Hi Artur,
ich bin so frei und nutze die Steilvorlage von Werner. Mit dieser kleinen Änderung durchläufst Du alle Blätter der Mappe.

Sub Artur()
Dim iBlatt%, i%
iBlatt = ActiveWorkbook.Worksheets.Count
For i = 1 To iBlatt
MsgBox CountColor(Sheets(i).Range("D3:D20"), 3) & _
" rote Zellen im Bereich !"
Next i
End Sub

Ciao, Ralf
AW: Farben zählen
Artur
Hallo User,
ich bedanke mich ganz herzlich über die Beiträge. Ich habe Nachtschicht und kann deshalb auch nur in der Zeit von 22:00 - 6:00 den Rechner nutzen. Werde gleich einmal die Vorschläge ausprobieren. Ich werde mich dann nochmals melden
Gruß Artur
Anzeige
AW: Farben zählen
02.12.2005 23:42:14
Artur
Hallo Ralf,
habe Deinen Code ausprobiert, klappt hervorragend. Kann man diesen Code auch so abändern das die Anzahl der gefunden Farbfelder auf dem Blatt "Auswertung" eingetragen werden kann. Ich habe zur besseren Erläuterung ein Teil der Mappe mit angefügt.
https://www.herber.de/bbs/user/28921.xls
Gruß Artur
AW: Farben zählen
03.12.2005 11:11:04
Ralf
Hi Artur,
klar kann man. statt:
MsgBox CountColor(Sheets(i).Range("D3:D20"), 3) & " rote Zellen im Bereich !"
schreibst Du dann:
Sheets("Auswertung").Range("A1") = CountColor(Sheets(i).Range("D3:D20"), 3) & _
" rote Zellen im Bereich !"
Ob Du den Wert tatsächlich in A1 schreiben willst musst Du noch entscheiden.
Ciao, Ralf
Anzeige
AW: Farben zählen
03.12.2005 22:25:47
Artur
Hallo Ralf,
vielen Dank für Deine promte Antwort. Werde mit dem Code erst mal weiter arbeiten. Sollten noch Fragen auftauchen, werde ich mich nochmal melden.
Nochmals Dank für Deine Hilfe
Gruß Artur

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige