首页 文章

Excel 2013受保护的工作表vba弹出消息

提问于
浏览
0

我正在处理受保护的Excel工作簿,并试图消除或理解为什么在我的.MsgBox弹出窗口后发生以下消息:

您尝试更改的单元格或图表位于受保护的工作表上 . 要进行更改,请单击“审阅”选项卡中的“取消保护工作表”(可能需要密码) .

我在工作簿中只有一个输入字段(日期字段),并且我将该单元格样式设置为“输入”,并将单元格格式修改为“不受保护”,以便即使工作簿被锁定也可以保持可编辑状态 .

我的VBA / Macro:

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

我希望这条消息不会出现给我的最终用户,但我不明白为什么会这样 . 我唯一想到的是,在重新打开保护页后,表格没有被刷新 . 如果是这种情况,有没有办法等待后台查询完成运行再次保护工作表?

1 回答

  • 0

    为了解决我的问题,我进入了数据选项卡并取消选中“启用后台刷新” . 我相信这只能解决我的问题,因为我使用的是OLEDB连接类型 .

相关问题