我必须防止在正在创建的工作表中对A:O列进行编辑,但是它似乎无法正常工作。
Set Wb = Workbooks.Add(XlWBATemplate.xlWBATWorksheet)
With Wb
With .Worksheets("Sheet1")
.Cells.Locked = False
.Columns("A:O").Locked = True
End With
为什么运行宏后那些列可以被编辑?
下面的脚本其余部分(包括保存):
.SaveAs strNewPath & strFileName, Password:="password", FileFormat:=51
.Saved = True
.Close
End With
Set Wb = Nothing
End If
Next
答案 0 :(得分:1)
我将添加一个答案以澄清问题。 Locked
属性仅表示在工作表受保护时是否可以修改单元格。您可以通过以下方式保护工作表:转到Excel工具栏的“查看”选项卡,然后选择“保护工作表”。
或者,您可以在代码中进行保护和取消保护。例如:
Sub Protect_Sheet()
Sheet1.Protect "Password"
End Sub
Sub Unprotect_Sheet()
Sheet1.Unprotect "Password"
End Sub
如果要对锁定的工作表执行某些操作,然后保护工作表,则可以在较大的方法中调用这些方法。
答案 1 :(得分:0)
代码开始导入时:
Sheet1.Unprotect "Password" '<- Unprotect the sheet in order to Unlock sheet and give the opportunity to the code to work.
以及代码完成导入后:
Sheet1.Protect "Password" '<- Protect the sheet in order to lock the sheet