Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1336to1340
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
Inhaltsverzeichnis

Makro das rote Zellen zählt

Makro das rote Zellen zählt
31.10.2013 22:32:06
Christian
Hallo an alle,
hat einer von euch einen Rat warum unten stehendes Makro immer 1 ausgibt, obwohl über 300 Zellen mit rotem Text vorhanden sind?
Der obere Teil des Makros bezieht sich auf dieselbe Tabelle und funktioniert, also markiert eine beliebige schwarz geschriebene Zelle. Also dass das Makro in der falschen Tabelle sucht, kann man ausschließen. Fehlermeldungen gibt es keine.
Danke für euren Rat
Christian
Sub Makro1()
' Makro1 Makro
' Tastenkombination: Strg+y
Dim objRange As Range
Dim lngRow As Long, lngColumn As Long
Randomize
With Application.FindFormat
.Clear
.Font.Color = vbBlack
End With
lngRow = Int((ActiveSheet.UsedRange.Rows.Count - 1 + 1) * Rnd + 1)
lngColumn = Int((104 - 4 + 1) * Rnd + 5)
Set objRange = Range(Cells(1, 4), Cells(Rows.Count, 104)).Find( _
What:="*", After:=Cells(lngRow, lngColumn), LookIn:=xlValues, _
LookAt:=xlPart, SearchFormat:=True)
objRange.Select
Dim lngAnzahl As Long, rngZelle As Range
lngAnzahl = 0
If Intersect(Sheets(Sheets.Count).Range("D1:CZ10000"), Sheets(Sheets.Count).UsedRange) Is  _
Nothing Then Exit Sub
For Each rngZelle In Intersect(Sheets(Sheets.Count).Range("D1:CZ10000"), Sheets(Sheets.Count). _
UsedRange)
If rngZelle.Font.ColorIndex = 3 Then lngAnzahl = lngAnzahl + 1
Next rngZelle
Sheets("Tabelle4").Cells(1, 4).Value = lngAnzahl
End Sub

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

Betreff
Datum
Anwender
Anzeige
Weshalb zeigen >1 Zelle roten Text, ...
31.10.2013 23:02:05
Luc:-?
…Christian,
wenn doch nur 1 Zelle so direkt formatiert ist? Was meint denn das Format einer sochen Zelle dazu?
Gruß Luc :-?

AW: Weshalb zeigen >1 Zelle roten Text, ...
01.11.2013 13:05:29
Christian
Hallo Luc,
an den Formaten lag es nicht,
Franz hatte recht, dass es am Bezug auf die Tabelle liegt.
Trotzdem danke
Christian

AW: Makro das rote Zellen zählt
01.11.2013 00:26:40
fcs
Hallo Christian,
wieso kannst du ausschliessen, dass das Makro im falschen Blatt sucht?
Der obere Teil des Makros sucht im aktiven Tabellenblatt.
Der untere Teile mit der Zählfunktion immer im letzten Tabellenblatt der Arbeitsmappe.
Das Makro kann keine Zellen zählen, deren rote Schriftfarbe durch eine bedingte Formtierung erzeugt wird!
Ausgewertet derden nur solche Zellen deren Schrift direkt rot formatiert ist.
mfg
Franz

Anzeige
AW: Makro das rote Zellen zählt
01.11.2013 10:57:41
Christian
Hallo Franz, da sagst du etwas wahres.
Es ist zwar das letzte Tabellenblatt, aber das letzte das eingeblendet ist.
Da könnte der Fehler liegen, nur leider brauche ich dann immer noch Eure Hilfe, damit sich auch der untere Teil auf das aktuelle Tabellenblatt bezieht.
Ich kann leider auch nicht wirklich nachvollziehen, weshalb das einzige der ausgeblendeten Blätter, das nur eine rot geschriebene Zelle beinhaltet, ausgerechnet das letzte sein soll, dies wäre Tabelle5 von 14 insgesamt. Ich sag jetzt Tabelle5 weil sie im VBA Editor immer noch Tabelle5 genannt wird, mit meinem eigenen Namen, den ich ihr gegeben habe in Klammern. Kann dies durch das Ein- und Ausblenden der Tabellen entstanden sein?
Jedenfalls wär ich euch sehr verbunden, wenn ihr mir helft, dass das Makro in der aktiven Tabelle zählt.
Danke
Christian

Anzeige
AW: Makro das rote Zellen zählt
01.11.2013 11:47:48
Christian
hatte vergessen den Haken zu setzen, dass die Frage noch offen ist.

AW: Makro das rote Zellen zählt
01.11.2013 12:45:15
fcs
Hallo Christian,
mit den folgenden Anpassungen wird auch im aktiven Tabellenblatt gezählt.
Gruß
Franz
Sub Makro1()
' Makro1 Makro
' Tastenkombination: Strg+y
Dim objRange As Range
Dim lngRow As Long, lngColumn As Long
Dim lngAnzahl As Long, rngZelle As Range
Randomize
With Application.FindFormat
.Clear
.Font.Color = vbBlack
End With
With ActiveSheet
lngRow = Int((.UsedRange.Rows.Count - 1 + 1) * Rnd + 1)
lngColumn = Int((104 - 4 + 1) * Rnd + 5)
Set objRange = .Range(.Cells(1, 4), .Cells(.Rows.Count, 104)).Find( _
What:="*", After:=.Cells(lngRow, lngColumn), LookIn:=xlValues, _
LookAt:=xlPart, SearchFormat:=True)
objRange.Select
lngAnzahl = 0
If Intersect(.Range("D1:CZ10000"), .UsedRange) Is Nothing Then Exit Sub
For Each rngZelle In Intersect(.Range("D1:CZ10000"), .UsedRange)
If rngZelle.Font.ColorIndex = 3 Then lngAnzahl = lngAnzahl + 1
Next rngZelle
End With
Sheets("Tabelle4").Cells(1, 4).Value = lngAnzahl
End Sub

Anzeige
AW: Makro das rote Zellen zählt
01.11.2013 12:49:37
Christian
Hallo Franz,
auch hilft mir nicht, wollte das ausschließlich da gezählt wird.
Aber schonmal vielen DAnk
Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige