龙空技术网

如何零基础学习VBA—HighlightChangesOptions对象

ILYNWA 91

前言:

现在朋友们对“vbnetwhen”大致比较关注,朋友们都需要知道一些“vbnetwhen”的相关文章。那么小编同时在网摘上汇集了一些有关“vbnetwhen””的相关资讯,希望看官们能喜欢,大家快快来了解一下吧!

#头条文章养成计划#

HighlightChangesOptions对象封装了用于突出显示单元格更改选项的属性和方法。通过使用HighlightChangesOptions对象,可以在VBA代码中设置和检索如何高亮显示在工作表上进行的更改的选项。例如,可以设置高亮显示更改的颜色、类型和时间等。 HighlightChangesOptions对象可以在Excel 2010及以上版本中使用。

1、设置高亮显示更改的范围为整个工作表,并将颜色设置为蓝色

Sub HighlightChangesOption1()    With ActiveWorkbook.HighlightChangesOptions        .Range = xlWholeSheet          .Color = vbBlue     End WithEnd Sub

2、将时间限制更改为5天,并且只显示单元格内容的更改

Sub HighlightChangesOption2()    With ActiveWorkbook.HighlightChangesOptions        .When = xlAllChanges         .Who = ""         .Where = xlWorkbook         .highlighttruechanges = True         .showchangesonnewsheet = False         .KeepChangeHistory = True         .daysbeforedeleting = 5     End WithEnd Sub

3、将更改历史记录保存在单独的工作表中,并将单元格内容和格式都高亮显示

Sub HighlightChangesOption3()    With ActiveWorkbook.HighlightChangesOptions        .Who = "All Users"         .Where = xlAnywhere         .highlighttruechanges = True         .KeepChangeHistory = True         .showchangesonnewsheet = True         .When = xlAllChanges         .Range = Selection         .Format = True     End WithEnd Sub

这些示例演示了如何使用HighlightChangesOptions对象来设置不同的选项来突出显示单元格更改。第一个示例设置了更改的范围和颜色,第二个示例设置了更改历史记录的保存和筛选条件,第三个示例则设置了更改历史记录的保存位置和要高亮显示的内容种类。

以下是一个使用HighlightChangesOptions对象的示例VBA代码:

Sub HighlightChanges()    '声明需要使用的对象变量    Dim dataRange As Range    Dim optionsObj As HighlightChangesOptions        '设置要突出显示更改的单元格范围    Set dataRange = Range("A1:C10")        '初始化HighlightChangesOptions对象    Set optionsObj = ActiveSheet.HighlightChangesOptions    '设置突出显示更改选项    With optionsObj        .Color = vbYellow        .When = xlSinceLastValidation '自上次有效性验证之后的更改        .Who = xlOtherSessionChanges '其他用户的更改        .Where = xlWorkbook '整个工作簿中的更改        .Format = True '格式也会被突出显示    End With        '启用突出显示更改    dataRange.HighlightChanges options:=optionsObj,         Comment:="Changes Made by Other Users"        End Sub

在上面的示例代码中,我们首先声明并初始化了一个Range对象变量(叫做dataRange),然后声明了一个HighlightChangesOptions对象的变量(叫做optionsObj)。

接着,我们使用.optionsObj对象的属性,例如.Color对象 是指定突出显示更改的颜色为黄色,.When对象是指定要突出显示的更改的时间期限,.Who对象可以只显示其他用户所造成的更改, .Where对象用于指示要突出显示更改的区域,.Format设为True以保留格式。

在设置完选项后,我们将dataRange的突出显示更改选项指定为optionsObj。这样,在dataRange内发生对突出显示更改选项所定义的更改时,就会自动应用颜色,并在单元格右上角放置指示器。

此外,在此示例代码中,我们使用Comment属性为HighlightChanges方法指定了注释。这些注释可根据需要添加。

请注意,本示例使用的是ActiveSheet.HighlightChangesOptions对象,也可以使用Workbook(整个工作簿)或Worksheet(活动工作表)对象的相应方法来突出显示所需更改类型。

使用HighlightChangesOptions对象时需要注意以下几点:

1、HighlightChangesOptions对象只适用于Excel 2010及以上版本。

2、在使用HighlightChangesOptions对象之前,必须先启用跟踪更改功能。可以通过在“审阅”选项卡中单击“跟踪更改”按钮来启用此功能。

3、只有当单元格上发生更改时,才能使用HighlightChangesOptions对象。如果未发生更改,则大多数属性都将返回无效值。

4、在设置突出显示更改选项之前,建议先备份工作表,以便可以恢复原始状态。

5、根据需要选择合适的突出显示更改选项,以避免干扰用户的工作和影响可读性。

标签: #vbnetwhen #vbinternetsetoption