我有一份excel工作簿报告,可供5人查看。此报告有10张,其中9张使用Sheets("Sheet2-10").Visible = xlVeryHidden
隐藏。
但是,我的工作表并不安全,因为人们可以使用Sheets("Sheet2-10").Visible = true
取消隐藏工作表2到10(例如,从另一个工作簿调用)。
如何保护我的工作表免受试图执行此操作的人的影响?
答案 0 :(得分:0)
这并不能完全解决您的问题,但作为一个FYI,Excel允许您命名以引号开头,后跟撇号,然后是字母或其他内容的工作表。所以你可以有一个名为“'Sheet1。”如果你尝试Worksheets(""'Sheet1").Visible
,你会遇到一个编译器错误。但用户仍然可以通过索引编号调用它。
答案 1 :(得分:0)
我认为这很容易。您只需要使用密码保护您的VBA代码:
有了这种保护,没有人可以看到 Microsoft Excel对象。所以现在,您只需要将您的非常隐藏的工作表名称更改为一个糟糕的名称 - 哈希名称。比如Sheets("FFJAR31GMCJ4ASAL8PYXXFE")
为了让您更容易编码,您可以在常量中设置工作表的名称。
示例:
Const MY_HIDDEN_SHEET As String = "FFJAR31GMCJ4ASAL8PYXXFE"
Sub f()
MsgBox "My hidden sheet name is " & MY_HIDDEN_SHEET
End Sub
答案 2 :(得分:0)
保护您的工作簿结构: