Li-*_*Yip 5 microsoft-excel-2007 microsoft-excel
在 Excel 中对表格或区域进行排序时,单元格值和基本格式(如粗体、斜体、颜色等)会移动,但以下内容不会移动:
我的电子表格具有每个单元格的数据验证,因此当我执行排序操作时,它会移动值,但不会随身携带它们的验证。
这是排序前的示例:

排序后(“水果”名称上的AZ。)

当 Excel 执行排序操作时,有没有办法让 Excel 移动数据验证规则以及值和格式?
编辑:
为了澄清,我在这里有两个可分离的问题:
编辑:
我的最终解决方案只是通过保护工作簿并禁用所有工作表的排序来完全禁用排序。您可以按“排序”按钮,但它们什么也不做。
作为额外的保护措施,我添加了每次打开工作簿时都会重新应用保护工作簿的 VBA,并显示一个带有使用说明和警告的工作表(例如“不要对此进行排序!”)。最终用户可以取消- 随时保护工作簿,所以这不是万无一失的,但我相信这是我能做的最好的。
您可以制定处理 pH 值的一般规则并将其应用于整个值列。您只需添加一个条件来检查 Key1 以查看该值是否为 pH 值;如果是,检查标准;如果不是,则返回 TRUE,这样任何事情都是允许的。
例如,以下是应用于C2:C6表中(值 1 列)的自定义数据验证规则:
=IF(B2="pH",AND(C2>=0,C2<=14,C2=INT(C2)),TRUE)
Run Code Online (Sandbox Code Playgroud)
这将限制 pH 值 0<=pH<=14 并且仅限整数。由于该规则应用于整列,因此排序不会影响数据有效性。

如果使用条件格式应用边框,则可以以类似的方式处理边框。只需使用适当的公式规则将其应用于列中的所有数据,例如
=B2="pH"
Run Code Online (Sandbox Code Playgroud)
