[英]Excel 2013 protected sheet vba pop-up message
我正在研究受保護的Excel工作簿,並試圖消除或理解為什么在我的.MsgBox彈出窗口之后出現以下消息:
您要更改的單元格或圖表位於受保護的工作表上。 要進行更改,請在“審閱”選項卡中單擊“取消保護圖紙”(您可能需要輸入密碼)。
我在工作簿中只有一個輸入字段(日期字段),並將該單元格樣式設置為“輸入”,並將該單元格格式修改為“不受保護”,因此即使工作簿被鎖定,它仍可編輯。
我的VBA /宏:
Sub WeeklyReport()
Dim Week As String
Set WeekValue = ThisWorkbook.Sheets("Report_Weekly").Range("PRM_weekvalue")
Week = WeekValue
Application.ScreenUpdating = False
Call unprotectmacro
With ActiveWorkbook.Connections("SQLDBConnection").OLEDBConnection
.CommandText = "EXEC dbo.usp_WeeklyReport '" & Week & "'"
ActiveWorkbook.Connections("SQLDBConnection").Refresh
Sheets("Report_Weekly").Select
Range("A13").Select
MsgBox "The workbook is now refreshed."
End With
ActiveSheet.Protect "passwordgoeshere", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWorkbook.Protect "passwordgoeshere", Structure:=True, Windows:=False
'Application.ScreenUpdating = True
End Sub
我希望此消息對最終用戶不顯示,但我不明白為什么會發生。 我唯一的想法是在保護表重新打開后,表還沒有刷新。 如果是這樣,有沒有辦法在再次保護工作表之前等待后台查詢完成運行?
為了解決我的問題,我進入了“數據”標簽,並且未選中“啟用后台刷新”。 我相信這只能解決我的問題,因為我使用的是OLEDB連接類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.