簡體   English   中英

Excel 2013受保護的工作表VBA彈出消息

[英]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.

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