在本文中,我们将创建一个宏以在选定区域中应用条件格式。

我们使用随机数作为样本数据来演示宏的工作原理。

RawData

单击“主要”表上的“查找最大值”按钮可以执行宏。

ArrowMainSheet

逻辑解释

我们创建了“ ConditionalFormat”宏,以将条件格式应用于所选区域。此宏以紫色突出显示单元格,该单元格包含所选区域中的最大值。

在执行此宏之前,必须选择一个要在其上应用条件格式的区域。

例如,我们选择了从B9到F17的单元格范围作为所选数据的样本。

ArrowSelectedSample

选择样本区域后执行宏时,条件格式化将应用于所选区域,并且包含最大值(97)的单元格D16将以紫色突出显示。

ArrowFirstSampleOutput

现在,再取样。我们选择了从单元格B10到F13的范围作为第二个采样区域。

ArrowSecondSample

选择第二个示例区域后,单击“查找最大值”按钮以运行宏。条件格式将应用于所选区域,并且单元格C11将以紫色突出显示,因为它包含所选区域中的最大值(92)。

ArrowSecondSampleOutput

在为两个不同的样本执行宏之后,将条件格式化应用于这两个样本。在样本数据中,单元格C11和D16都将以紫色突出显示,因为它们代表了各自样本中的最大值。

ArrowFinalOutput

如果任何样本中的值发生更改,并且新插入的值之一是最高值,则具有该特定值的单元格将突出显示。

代码说明

Selection.FormatConditions.Delete上面的代码用于删除应用于所选数据的任何条件格式。

Selection.FormatConditions.Add类型:= xlExpression,公式1:= _“ =”&Selection.Cells(1).Address(False,False)&“ = MAX(”&Selection.Address&“)”

上面的代码用于添加新的条件格式。类型指定使用表达式来应用条件格式。表达式的公式在公式1中定义。

Selection.Cells(1).Address(False,False)

上面的代码用于引用选择中第一个单元的地址。

“ =”&Selection.Cells(1).Address(False,False)&“ = MAX(”&Selection.Address&“)”“

上面的代码用于将第一个所选单元格的值与所选内容的最大值进行比较。

Selection.FormatConditions(1).Interior.ColorIndex = 39以上代码用于将紫罗兰色分配给满足格式化条件的单元格。

请遵循以下代码

Sub ConditionalFormat()

With Selection

'Delete any previous conditional formatting

.FormatConditions.Delete



'add conditional formatting to selected cell

.FormatConditions.Add Type:=xlExpression, Formula1:= _

"=" & Selection.Cells(1).Address(False, False) & "=MAX(" & Selection.Address & ")"



'Assigning Violet color for the conditional formatting

.FormatConditions(1).Interior.ColorIndex = 39



End With





End Sub

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

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