2017-08-17 52 views
0

我使用Excel 2013,并有一个宏复制“主”工作表到工作簿的结束,一旦用户填写。根据“主”报告编号重新命名复制的工作表。有没有办法,一旦表格被复制到最后,它可以被锁定,因此用户不能对其进行任何更改。我只是希望他们能够查看它。我已经在网上研究了一些示例代码,但似乎没有做我想做的事情。任何人有任何想法或可以帮助吗?许多感谢锁定工作表

+0

什么示例代码不起作用,以什么方式? – pnuts

+0

使用宏记录器执行步骤并检查模块。 – Sorceri

回答

0

您可以使用.PROTECT和.Unprotect性能。下面是一个示例sub,它保护工作簿中的所有工作表,图表,然后保护工作簿本身。下面是a site更详细的信息,也将是很好的回顾how items are protected in Excel一般。

Sub protectWk(wk As Workbook) 
Dim sh as Worksheet, ch as Chart 
For Each sh In wk.Worksheets 
    sh.Protect ("password") 
Next 
For Each ch In wk.Charts 
    ch.Protect ("password") 
Next 
wk.Protect ("password") 
wk.Close SaveChanges:=True 
End Sub 
+0

太棒了!谢谢! –

+0

我必须保护工作表,但所有的细胞被解锁。我的代码如下: –

+0

虽然表受保护,现在在指定范围内的所有单元格显示被锁定,但仍可供用户选择。我的代码如下:'代码” '选择&锁细胞 表(则strName).Range。( “A1:Y89”)选择 ' 锁定的那些细胞 Selection.Locked =假 Selection.FormulaHidden =假 选择。 FormulaHidden = True Selection.Locked = True '保护工作表 表(strName).Protect(“Password123!”) End Sub'code'我在哪里出错? –