gpt4 book ai didi

excel - 如何在 protected VBA 创建的工作表上解锁单元格

转载 作者:行者123 更新时间:2023-12-04 21:17:34 29 4
gpt4 key购买 nike

使用 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/

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