Clever-Excel-Forum

Normale Version: Nur eingeblendete Zellen färben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo und Guten Tag

Ich stehe schon wieder vor einen Unlösbaren Problem.
In einen Tabellenblatt habe ich mittels Filter Zeilen ausgeblendet, nun möchte ich in gewissen Spalten die Zellen färben die leer sind.
Es dürfen aber nur die sichtbaren Zellen gefärbt werden.
Code:
For n = 22 To letzte
       
        If Cells(n, 3).Value <= 0 Then
        Cells(n, 3).Interior.ColorIndex = 22
        End If
       
        If Cells(n, 4).Value <= 0 Then
        Cells(n, 4).Interior.ColorIndex = 22
        End If
         
        If Cells(n, 10).Value <= 0 Then
        Cells(n, 10).Interior.ColorIndex = 22
        End If
       
        If Cells(n, 12).Value <= 0 Then
        Cells(n, 12).Interior.ColorIndex = 22
        End If
         
        If Cells(n, 25).Value <= 0 Then
        Cells(n, 25).Interior.ColorIndex = 22
        End If
         
        If Cells(n, 43).Value <= 0 Then
        Cells(n, 43).Interior.ColorIndex = 22
        End If
    Next n
könnt Ihr mir bitte helfen!!

Danke schon mal im Voraus.

Gruß Peter
(07.07.2020, 06:47)stonemaus schrieb: [ -> ]Es dürfen aber nur die sichtbaren Zellen gefärbt werden.
Frage: Was passiert denn wenn auch die nicht sichtbaren leeren Zellen gefärbt werden?
Hallo

Die gefärbten Zellen werden gezählt und in irgenwelchen Formeln weiterverwendet

Gruß Peter
Hallöchen,

im Prinzip so:

Code:
Sub test()
Dim iCnt%
For iCnt = 1 To 6
  Cells(iCnt, 3).Interior.ColorIndex = _
  (Not (Cells(iCnt, 3).EntireRow.Hidden)) * ((Cells(iCnt, 3).Value <= 0)) * 22
Next
End Sub
Hallo,


Zitat:Die gefärbten Zellen werden gezählt und in irgenwelchen Formeln weiterverwendet


Auswertungen nach Zellformaten sollte man unbedingt vermeiden. Die Anzahl der Zellen lässt sich doch ganz prima mit der Funktion Zählenwenn(s) oder in Verbindung mit dem Filter über Teilergebnisse ermitteln.
Hallöchen,

eventuell dient die Färbung ja lediglich der Visualisierung der Daten, die gezählt und weiterverwendet werden. Vermutlich sind die Daten auch nach irgendwas gefiltert, was als Bedingung für die Berechnungen dient und nicht manuell ausgeblendet Smile
Hi

es gibt bei den "SpecialCells" die, die sichtbar sind:

Code:
Range("C1:C7").SpecialCells(xlCellTypeVisible).Interior.ColorIndex = 22
Hi Jörg,

so einfach ist es nicht, da fehlen dann noch die Bedingungen Smile
Hallo André,

stimmt, da fehlt noch das zweite Special:

Code:
Range("C1:C20").SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeBlanks).Interior.ColorIndex = 22