作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 VBA 处理输入的数据文件以创建受 Excel(2003) 保护的电子表格(发票)。
然后将电子表格分发到要修改某些指定单元格的其他办公室。
当整个工作表受到保护时,如何创建工作表以允许修改这些单元格?
我尝试过使用下面的代码和其他类似的变体,但它似乎不起作用。
你能帮我吗?
Private Sub CellLock1()
Cells.Select
' unlock all the cells
Selection.Locked = False
' lock only these cells
Range("J49:K49").Select
Selection.Locked = True
ActiveSheet.Protect DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=True, _
AllowFormattingRows:=True, _
AllowInsertingColumns:=True, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=True, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=True
End Sub
最佳答案
默认情况下,excel 上的每个单元格都是锁定的,在保护工作簿后,您将无法编辑单元格,除非您事先解锁它们。
如果工作表受到保护,即使使用 VBA 代码,您也无法解锁单元格。
因此,如果您想使用代码解锁某些单元格,则必须先取消保护工作簿/工作表。
请尝试我的代码:
Sub UnlockCells()
Sheet1.Unprotect
Sheet1.Range("A1", "B6").Locked = False 'Unlock the range A1 to B6
Sheet1.Cells(6, 6).Locked = False 'Unlock the cell F6
Sheet1.Protect
End Sub
关于excel - 如何在 protected VBA 创建的工作表上解锁单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5192187/
我是一名优秀的程序员,十分优秀!