Excelmacros,显示在保护模式下的某些单元格的评论

我需要帮助创build一个将显示位于某些合并的单元格中的注释的macros。 该macros将链接到一个button,当用户单击该button时,将显示位于特定合并单元格中的注释。

我目前有一个我在网上find的代码,显示了工作簿中的所有注释。 但是,这个代码将不起作用,因为我的工作簿需要保护,这意味着macros将查看locking的单元格并提前结束。 我已经粘贴下面的代码:

Sub Show_Comment() On Error Resume Next For Each ws In ActiveWorkbook.Sheets Set allCommentRng = ws.Cells.SpecialCells(xlCellTypeComments) For Each Rng In allCommentRng Rng.Comment.Visible = True Next Next On Error GoTo 0 End Sub 

有了这个说,我需要知道如何指定一个具有评论的某个合并范围。 第一个合并范围是C7:C8-E7:E8 。 如果我知道如何做一个范围,我会想办法去做别人。

总结一下,我需要帮助创build一个macros,该macros将显示位于某些合并单元格中的注释,并且必须在工作簿受到保护且大多数单元格将被locking时工作。 我需要知道如何指定一个特定的合并范围,并有一个macros的外观,只影响指定,解锁单元格。

这是一个个人项目,不适用于学校或工作。 任何帮助将是有益的。 我提前谢谢你。 如果您需要更多信息,请告诉我。

单元格的样子以及button的图片:

在这里输入图像说明

在尝试操作之前,必须先取消保护工作表,并在更改已应用后恢复保护。

  For Each ws In ActiveWorkbook.Sheets ws.Unprotect Set allCommentRng = ws.Cells.SpecialCells(xlCellTypeComments) For Each Rng In allCommentRng Rng.Comment.Visible = True Next Rng ws.Protect Next ws 

上面的示例意味着没有密码保护。 要克服工作表的密码保护使用:

 ws.Unprotect Password:="yourpasswordhere" ws.Protect Password:="yourpasswordhere" 

如果您在运行macros之前取消保护工作表,并在以下情况下重新保护:

 Sub Show_Comment() On Error Resume Next For Each ws In ActiveWorkbook.Sheets ws.unprotect Set allCommentRng = ws.Cells.SpecialCells(xlCellTypeComments) For Each Rng In allCommentRng Rng.Comment.Visible = True Next Rng ws.protect Next ws On Error GoTo 0 End Sub