【发布时间】:2013-02-20 16:23:39
【问题描述】:
有没有办法在 Excel 报告的所有工作表中锁定所有填充的单元格(仅)?如果有这方面的 excel 属性,我会很高兴。如果没有 vba 代码就可以了。我找到了 vba 代码,但我们必须提供工作表名称。像这样,我有很多床单,我无法说出所有床单的名称。
VBA 代码:
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
For Each cl In Sheets("Sheet1").Cells
If cl = blank Then
cl.Locked = False
Else
cl.Locked = True
End If
Next
Sheets("Sheet1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Sheet1").EnableSelection = xlUnlockedCells
End Sub
请为此提出更好的方法。
提前致谢。
【问题讨论】:
-
您可以通过索引而不是名称访问工作表
-
@AndreyGordeev:感谢您的回答。但我想我
ll have to mention all sheet index above in my code right??? And what about performance of the action??? Itll 会花很多时间来做这件事。就像它必须在每张纸上增加 20 万个细胞一样,大约有 12 张纸。请为此提出更好的方法。