如何根据另一个下拉列表单元格冻结Excel中的下拉列表单元格,并为其分配默认值?

问题描述

我的Excel工具允许我计算价格。 有一个下拉列表单元格指示产品,另一个下拉列表单元格指示应该送货的城市,但是我想做的是冻结国家单元格(将其设置为一个值),如果某个值是选择产品。

使用Excel 2019

解决方法

您要查找Worksheet.Protect和Range.Locked。

一旦用户输入了产品值,并且您想要锁定国家/地区单元格,则需要执行以下操作:

reject_numberList

保护工作表后,所有单元格的默认设置均为“锁定”,因此您只需定义仍可编辑的区域。如果要在用户输入更多数据时继续锁定其他单元格,则需要取消保护工作表,重新定义锁定范围,然后重新保护工作表。

我建议对类似以下内容使用Worksheet_Change事件:

Activesheet.Unprotect
Range("Everything Except Country").Locked = False
Range("Country").Locked = True
Activesheet.Protect

您可能还想添加一个事件或按钮,以便工作表可以重置为所有不受保护的单元格。