我的 excel 工具允许我计算价格。有这个下拉列表单元格指示产品,另一个下拉列表单元格指示应该交付的城市,但我想做的是冻结国家单元格(将其设置为一个值)如果某个值是为产品选择。
使用 Excel 2019
我的 excel 工具允许我计算价格。有这个下拉列表单元格指示产品,另一个下拉列表单元格指示应该交付的城市,但我想做的是冻结国家单元格(将其设置为一个值)如果某个值是为产品选择。
使用 Excel 2019
您正在寻找 Worksheet.Protect 和 Range.Locked。
一旦用户输入了产品的值并且您想要锁定国家/地区单元格,您将需要执行以下操作:
Activesheet.Unprotect
Range("Everything Except Country").Locked = False
Range("Country").Locked = True
Activesheet.Protect
保护工作表后,所有单元格的默认设置为锁定,因此您只需定义仍可编辑的区域。如果您想在用户输入更多数据时继续锁定其他单元格,则需要取消保护工作表,重新定义锁定范围,然后重新保护工作表。
我建议使用 Worksheet_Change 事件,如下所示:
Private Sub Worksheet_Change(ByVal Target As Range)
if Target.Address = Range("Product").Address then
Activesheet.Unprotect
Range("Everything Except Country").Locked = False
Range("Country").Locked = True
Activesheet.Protect
end if
End Sub
您可能还想添加一个事件或按钮,工作表可以在其中重置为所有未受保护的单元格。