In diesem Artikel verwenden wir das Arbeitsmappenereignis, um Daten hervorzuheben, die größer als das aktuelle Datum sind.

Die Rohdaten für dieses Beispiel bestehen aus dem täglichen Verkaufsziel und dem erreichten Ziel.

ArrowMain

Wir möchten Tage hervorheben, die größer als das aktuelle Datum sind.

ArrowOutput

Logische Erklärung

In diesem Artikel haben wir zwei Makros erstellt, „SetColor“ und „ResetColor“.

Das Makro „SetColor“ wird verwendet, um Daten hervorzuheben, die größer als das aktuelle Datum sind.

Das Makro „ResetColor“ wird verwendet, um die Formatierung der angegebenen Quelle zurückzusetzen.

Wir haben zwei Arbeitsmappenereignisse verwendet, Arbeitsmappenöffnungsereignis und Arbeitsmappe vor Abschlussereignis.

Das Ereignis zum Öffnen der Arbeitsmappe wird ausgelöst, wenn die Arbeitsmappe geöffnet wird. Beim Öffnen der Arbeitsmappe wird automatisch das Makro „SetColor“ ausgeführt.

Die Arbeitsmappe vor dem Schließen des Ereignisses wird verwendet, um das mit dem Ereignis zum Öffnen der Arbeitsmappe verknüpfte Ereignis zurückzusetzen.

Code Erklärung

Wenn IsDate (ActiveCell.Value) und ActiveCell.Value> Date Then, wird mit dem obigen Code überprüft, ob der Wert in der Zelle vom Datumsdatentyp ist und größer als das aktuelle Datum ist.

ActiveCell.Interior.Color = RGB (0, 255, 0)

Der obige Code wird verwendet, um der aktiven Zelle eine grüne Farbe zuzuweisen.

Set Source = Range („A1“, Range („A1“). SpecialCells (xlCellTypeLastCell))

Der obige Code wird verwendet, um alle Daten in der Excel-Tabelle auszuwählen.

Bitte folgen Sie unten für den Code

Option Explicit

Sub SetColor()

If IsDate(ActiveCell.Value) And ActiveCell.Value > Date Then

ActiveCell.Interior.Color = RGB(0, 255, 0)

Else

ActiveCell.Interior.Color = RGB(221, 235, 247)

End If

End Sub

Sub ResetColor()

'Declaring variables

Dim Rng, Source As Range

Dim IntRow As Integer, IntCol As Integer

'Specifying all the cells as source range

Set Source = Range("A1", Range("A1").SpecialCells(xlCellTypeLastCell))

'Looping through all the cells

For Each Rng In Source

'Checking whether cell contains a value

If Not IsEmpty(Rng) Then

'Checking whether cell contain value of date data type

If IsDate(Rng.Value) Then

Rng.Select



'Assigning Green color if value is greater than today date

If DateValue(Rng.Value) > Date Then

ActiveCell.Interior.Color = RGB(0, 255, 0)

Else

ActiveCell.Interior.Color = RGB(221, 235, 247)

End If

End If

End If

Next Rng

End Sub

'Insert below code in ThisWorkbook module

Option Explicit

Private Sub Workbook_Open()

With Worksheets("Main")

'Event fired on entry to worksheet

.OnEntry = "SetColor"

'Event fired on sheet activation

.OnSheetActivate = "ResetColor"



End With

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)



With Worksheets("Main")

.OnEntry = ""

.OnSheetActivate = ""

End With

End Sub

Wenn dir dieser Blog gefallen hat, teile ihn mit deinen Freunden auf Facebook und Facebook.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]