繁体   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