Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Nur eingeblendete Zellen färben
#1
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
Antworten Top
#2
(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?
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#3
Hallo

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

Gruß Peter
Antworten Top
#4
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
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.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#6
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Hi

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

Code:
Range("C1:C7").SpecialCells(xlCellTypeVisible).Interior.ColorIndex = 22
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top
#8
Hi Jörg,

so einfach ist es nicht, da fehlen dann noch die Bedingungen Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • LuckyJoe
Antworten Top
#9
Hallo André,

stimmt, da fehlt noch das zweite Special:

Code:
Range("C1:C20").SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeBlanks).Interior.ColorIndex = 22
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste