gpt4 book ai didi

Excel VBA : use of specialcells doesn't work if worksheet is protected

转载 作者:行者123 更新时间:2023-12-04 19:48:07 25 4
gpt4 key购买 nike

我有一段 Excel VBA 代码,如果工作表未 protected 则可以正常工作,但在 protected 时则不能。我已经阅读了之前的类似查询,但认为它们不适用于这种情况 - 建议的修复不适用或需要重复取消保护/重新保护工作表,我希望尽可能避免。

我的代码是这样的:

Dim NonEmptyCells As Range
Dim Cell As Range

On Error Goto Fin
Set NonEmptyCells = Range("D3:H6").SpecialCells(xlCellTypeBlanks)

For Each Cell In NonEmptyCells

' do stuff with cell

Next Cell

Fin:
On Error GoTo 0

使用“On Error”是为了在找到零个空单元格时避免循环。

Range(D3:H6) 设置了单元格格式,因此单元格未锁定且未隐藏。

当工作表不 protected 时,特殊单元格行会正确返回空白单元格的范围,但是当 protected 特殊单元格总是出错,就好像没有找到空单元格一样。

感谢所有帮助。

最佳答案

您只能在设置保护时使用用户界面。宏将起作用,工作表将受到保护,免受用户自己所做的更改。

在 ThisWorkbook 模块部分:

Private Sub Workbook_Open()
Worksheets("Sheet1").Protect Password:="yourPassword", UserInterFaceOnly:=True
End Sub

调整您的密码和工作表名称,(确保工作簿打开事件在运行宏时已运行,即重新打开它)

关于Excel VBA : use of specialcells doesn't work if worksheet is protected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53435597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com