2017-01-07 26 views
0

我需要帮助创建一个宏,它将显示位于某些合并单元格中的注释。该宏将链接到一个按钮,当用户单击该按钮时,将显示位于特定合并单元格中的注释。Excel宏,显示在保护模式下的某些单元格的评论

我目前有一个代码,我在网上找到显示位于工作簿中的所有评论。但是,这段代码不起作用,因为我的工作簿需要保护,这意味着宏将查看锁定的单元并提前结束。我粘贴下面的代码:

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。如果我知道如何做一个范围,我会想出我们如何去做其他的。

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

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

的电池是什么样子的图像以及按钮:

enter image description here

回答

1

怎么样,如果你取消工作表运行宏,并重新保护之前,如果经过:

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 
+0

'ws.protect'是范围循环 –

+0

良好的抓内部,感谢@RyszardJędraszyk –

+0

我知道了!非常感谢:D – nilajawill

2

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

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" 
+0

谢谢你的帮助!我需要保护的工作簿,因为我将分享给其他人。但是,我不希望他们能够修改工作簿中的其他任何内容。他们只能点击按钮并显示评论。我已将按钮,合并的单元格和注释解锁,以便它们不受保护影响。但我不希望宏观看其他部分。 – nilajawill

+0

对于密码部分,是否有可以在后台输入密码的宏?我尝试添加密码代码,但当工作簿处于保护模式时,系统会提示输入密码。如果其他人拥有此工作簿,他们将无法访问密码。因此,在保护工作簿时,是否存在可以在后台输入密码的宏?再次感谢你的帮助。 – nilajawill

+0

我懂了!非常感谢:D – nilajawill

相关问题