在Excel宏中,我需要取消对工作表的保护,刷新数据,然后保护工作表。如下所示:
Dim rs As Worksheet
For Each rs In Worksheets
rs.Unprotect Password:="SomePassword"
Next rs
ActiveWorkbook.RefreshAll
这不会:
Dim rs As Worksheet
For Each rs In Worksheets
rs.Unprotect Password:="SomePassword"
Next rs
ActiveWorkbook.RefreshAll
For Each rs In Worksheets
rs.Protect Password:="SomePassword"
Next rs
生成以下错误:
您试图更改的单元格或图表受保护,因此是只读的。
我尝试了很多方法来延迟宏的继续,直到刷新完成,但没有任何工作。我看了这个论坛上的方法,发现没有工作。什么会工作?
2条答案
按热度按时间anauzrmj1#
请尝试以下操作之一:
1.在
ActiveWorkbook.RefreshAll
后添加DoEvents
。如下所示:1.保护工作簿时,将
UserInterfaceOnly
参数设置为true。类似于:uttx8gqw2#
我得到了相同的错误消息与以下子,我注意到,错误消息是指工作表包含透视表: