|在本文中,我们将使用工作簿事件来突出显示大于当前日期的日期。

此示例的原始数据包括每日销售目标和已实现的目标。

ArrowMain

我们要突出显示大于当前日期的日期。

ArrowOutput

逻辑解释

在本文中,我们创建了两个宏,“ SetColor”和“ ResetColor”。

“ SetColor”宏用于突出显示大于当前日期的日期。

“ ResetColor”宏用于重置指定来源的格式。

我们使用了两个工作簿事件,工作簿打开事件和关闭事件之前的工作簿。

打开工作簿时将触发工作簿打开事件。打开工作簿时,它将自动运行“ SetColor”宏。

关闭事件之前的工作簿用于重置与工作簿打开事件关联的事件。

代码说明

如果IsDate(ActiveCell.Value)和ActiveCell.Value> Date,则上面的代码用于检查单元格中的值是否为日期数据类型且大于当前日期。

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

上面的代码用于为活动单元分配绿色。

设置源= Range(“ A1”,Range(“ A1”)。SpecialCells(xlCellTypeLastCell))

上面的代码用于选择excel工作表中的所有数据。

请遵循以下代码

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

如果您喜欢此博客,请在Facebook和Facebook上与您的朋友分享。

我们希望收到您的来信,请让我们知道如何改善我们的工作并为您做得更好。写信给我们[email protected]