将超链接添加到仅受保护的用户界面 sheet

Adding a hyperlink to a userinterfaceonly protected sheet

这只是为了分享知识。我在这里找不到这个特殊案例。

案例:我用userinterfaceonly保护了一个作品sheet,像这样:

shLog.Protect Password:="foo", UserInterfaceOnly:=True

然后我尝试使用

添加一些指向 sheet 的超链接
shLog.Hyperlinks.Add ...

希望能够在不取消保护 sheet 的情况下做到这一点。但是,我收到错误 1004“您尝试更改的单元格或图表位于受保护的 sheet 上。...

这似乎是 Excel 2016(可能还有其他版本)中的错误。还有其他帖子提到了您在 VBA 中不能做的事情,即使在 UserInterfaceOnly:=True 中也是如此。可以将使用 .Hyperlinks.Add 创建的超链接添加到该列表中。您必须在添加超链接之前关闭保护,然后再打开它。

为了补充这个答案,我发现在保护 sheet 的同时设置 AllowInsertingHyperlinks:=True 属性 允许在不移除保护的情况下添加超链接。