2017-06-06 5 views
-4

Ich habe eine Nominalrolle mit den Geburtsdaten von Einzelpersonen. Ich muss ein Programm erstellen, das die Zellen von Geburtstagen hervorhebt, die vor mehr als 27 Jahren rot waren, da 27 die Altersgrenze ist. Könnte mir jemand dabei helfen? Ich weiß, dass es mit der Funktion für bedingte Formatierung in Excel möglich ist, aber ich möchte es mit vba tun, damit ich viele verschiedene Kategorien gleichzeitig filtern kann.Farbzellen mit einem Datum vor mehr als 20 Jahren?

+2

Da es sich bei Stack Overflow nicht um einen kostenlosen Code-Schreibdienst handelt, müssen Sie zeigen, was Sie bereits versucht haben (z. B. Ihr Code) und eine * spezifische * Frage an Ihren Code stellen. Lesen Sie auch [Warum ist "Kann mir jemand helfen?" Nicht eine tatsächliche Frage?] (Https://meta.stackoverflow.com/a/284237/3219613), um zu verstehen, warum Sie nach unten auf Ihre Frage abstimmen. Sie können Ihre Frage bearbeiten, um sie zu verbessern und hinzuzufügen, was Sie bereits getan haben. –

Antwort

0

Für die Formatierung erhalten, können Sie die folgende verwenden:

'for whole column A, if cell value is greater than 27 
    With Range("A:A").FormatConditions.Add(xlCellValue, xlGreater, "=27") 

     'color interior with red and black for font 
     .Interior.Color = RGB(255, 0, 0) 
     .Font.Color = RGB(0, 0, 0) 
    End With 

Für das Geburtsjahr, können Sie die folgende Funktion verwenden:

'=YearDiff(B1) <- enter this on cells as a formula with birthday parameter (from B1 on this example) 
    Function YearDiff(pDate As Date) As Long 
     YearDiff = DateDiff("yyyy", pDate, Now()) 
    End Function 

Das nächste Mal bitte ausüben Aufwand Ihren Code schreiben damit wir sehen können, wo du stecken geblieben bist.

Verwandte Themen