Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
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

VBA | Zelle Farbig wenn

VBA | Zelle Farbig wenn
29.03.2023 11:03:40
Spezi

Hallo Zusammen,

Ich habe über bedingte Formatierung eine Formel, wenn für 2 Zeilen,3+ Zeilen der Datum und in der Spalte worauf sich die B.Formatierung befindet ein Text eingetragen wird sich der Text bei 2 identischen Texten beide Zellen GELB und ab3+ alle Zellen Rot werden.
(Bsp. Datum eingetragen auf A12 und die Zelle R12 hat den Text "Hallo" A13 Datum und die Zelle R13 "Hallo", bei 2 wären jetzt die Zelle R12 und R13 Gelb hervorgehoben. Bei 3 und weiter wären alle Rot.

Die Formeln: (wird angewendet auf =$R$12:$R$1000)
=ZÄHLENWENNS($R:$R;$R12;$B:$B;VERKETTEN(">=";HEUTE()-30))=2 (GELB)
=ZÄHLENWENNS($R:$R;$R12;$B:$B;VERKETTEN(">=";HEUTE()-30))>=3 (ROT)

Meine Frage:
Aufgrund der B.Formatierung laggt meine Datei. Kann man diese Bedingung über VBA steuern?
Kann mir da einer evtl. behilflich sein?

LG, Spezi

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

Betreff
Datum
Anwender
Anzeige
AW: VBA | Zelle Farbig wenn
29.03.2023 12:05:52
MCO
Hey, Spezi.
Versuch das mal...

ungetestet...

Sub färben_Bedingung()
    For Each cl In Range("R12:R1000") 'Die Formeln: (wird angewendet auf =$R$12:$R$1000)
        '=ZÄHLENWENNS($R:$R;$R12;$B:$B;VERKETTEN(">=";HEUTE()-30))=2 (GELB)
        If CountIfs(Range("R:R"), cl, Range("B:B"), CONCATENATE(">=", Date - 30)) = 2 Then
           cl.Interior.ColorIndex = vbYellow
        ElseIf CountIfs(Range("R:R"), cl, Range("B:B"), CONCATENATE(">=", Date - 30)) = 3 Then
        '=ZÄHLENWENNS($R:$R;$R12;$B:$B;VERKETTEN(">=";HEUTE()-30))>=3 (ROT)
            cl.Interior.ColorIndex = vbYellow
        Else
            'nix?
        End If
    Next cl
End Sub
Gruß, MCO


Anzeige
AW: VBA | Zelle Farbig wenn
29.03.2023 12:28:39
Spezi
Hallo MCO,

hat leider so nicht hingehauen =(
trotzdem Danke.

LG, Spezi


Testdatensätze?
29.03.2023 12:52:34
MCO
Schieb doch mal eine Datei mit ein paar Testdatensätzen hoch....


AW: VBA | Zelle Farbig wenn
29.03.2023 14:35:37
onur
Deiner recht wirren Beschreibung nach (es gibt eine neue Erfindung - nämlich Satzzeichen wie Komma usw) geht es doch nur darum zu testen, wie oft der Text in R jeweils vorkommt - oder ? Aber was hat das mit dem Datum in A zu tun ?


Anzeige
AW: VBA | Zelle Farbig wenn
29.03.2023 14:51:52
Spezi
Hallo Onur,

Korrekt, sofern der Text mehrmals vorkommt, soll es farbig hervorgehoben werden.
Auf die Frage zurück, was es mit dem Datum zu tun hat.
Wenn es innerhalb der letzten 30 Tage mehrmals vorkommt, dass der selbe Text in der Zelle steht, so soll es dann farbig angezeigt werden.

LG, Spezi


AW: VBA | Zelle Farbig wenn
29.03.2023 15:25:31
onur
DEINE Formel vergleicht, da du immer die komplette Spalte nimmst, bei jeder Änderung/Eingabe 1 MILLION Zeilen mit R2 und 1 MILLION Zeilen mit dem Datum, und das Ganze mal 990 - ca 2 Milliarden Berechnungen - was erwartest du denn ?
Nimm DAS:
=ZÄHLENWENNS($R$2:$R$990;$R2;$A$2:$A$990;">=" & HEUTE()-30)=2
bzw ">2" am Ende,


Anzeige
AW: VBA | Zelle Farbig wenn
29.03.2023 15:38:04
GerdL
Mit VBA so:

Sub Unit()

    Dim C As Range, x As Long
    Dim rngR As Range
    Dim rngA As Range
    
    Set rngR = Range("R2:R" & Cells(Rows.Count, "R").End(xlUp).Row)
    Set rngA = Range("A2:A" & Cells(Rows.Count, "R").End(xlUp).Row)
    
    For Each C In rngR
        x = WorksheetFunction.CountIfs(rngR, C, rngA, ">=" & CLng(Date - 30))
        If x = 2 Then
            C.Interior.Color = vbYellow
        ElseIf x > 2 Then
            C.Interior.Color = vbRed
        Else
            C.Interior.Color = -4142
        End If
    Next
    
    Set rngR = Nothing: Set rngA = Nothing

End Sub
Gruß Gerd


Anzeige
AW: VBA | Zelle Farbig wenn
29.03.2023 16:31:09
Spezi
Hey Leute,

Das meine Formel nicht korrekt hinterlegt war, habe ich nicht gewusst.
Die neue Formel hat Wirkung gezeigt.
Kein lagging mehr. Bin euch für eure Unterstützung sehr dankbar.

LG, Spezi ✌️

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige