簡體   English   中英

Excel VBA保護返回錯誤

[英]Excel VBA protect returning error

我在這里和其他地方看到過很多關於在ThisWorkbook對象中使用以下代碼以保護您的工作簿但仍允許運行宏的文章:

Private Sub Workbook_Open()
    ActiveWorkbook.Protect UserInterfaceOnly:=True
End Sub

但是,彈出的保護功能工具提示僅提供三個參數Protect([password],[structure],[windows])。 因此,當我打開文檔時,出現以下錯誤

“編譯錯誤:找不到命名參數”

關於UserInterfaceOnly:=True

我使用了錯誤的保護功能,還是我缺少其他功能? 我想允許用戶使用表格/宏將數據輸入到工作簿中,但是我不希望他們能夠手動更改任何單元格。

我正在運行的保護功能似乎與我發現的許多其他保護解決方案具有不同的參數。 這可能是版本問題還是其他問題?

蒂姆·威廉姆斯Tim Williams)提供的建議奏效了。 保護在工作簿級別的工作方式不同,因此我需要為要保護的每個工作表編寫單獨的代碼。 我使用以下代碼保護工作表,但允許填寫表格:

Private Sub Workbook_Open()
    Worksheets("Sheet1").Protect UserInterfaceOnly:=True
    Worksheets("Sheet2").Protect UserInterfaceOnly:=True
    Worksheets("Sheet3").Protect UserInterfaceOnly:=True
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM