0

我有一种情况,我正在使用两个数据验证单元格,这些单元格加载了数据表中一列(每一列)的数据。

桌子

市场; 监督;店铺; ……

数据验证

  • cellDV1 - 表中的唯一值[市场]
  • cellDV2 -表中的唯一值[suprv]

当用户查看工作表时,cellDV1 和 cellDV2都预加载了它们各自的唯一值。

当用户从cellDV1中选择一个值时,它会使用所选值自动筛选表。然后,我想重新加载cellDV2,并在Table中看到精炼的结果。

我遇到的问题是它正在从表中的该列/字段加载所有唯一值,而不是自动过滤结果。

用法:

LoadDataValidation Range("Table[suprv]"), Range("cellRange")

加载数据验证:

Dim str As String
str = DistinctValues(srcrng)
Dim val As Validation
Set val = Range(destrng.Address).Validation
val.Delete
val.Add xlValidateList, xlValidAlertStop, xlBetween, str

任何想法,如何只选择过滤结果而不是表中的整个数据集?

4

1 回答 1

1

我没有经常使用表格,但是您可以将该SpecialCells(xlCellTypeVisible)属性应用于范围吗

所以Range("Table[suprv]").SpecialCells(xlCellTypeVisible)作为您在 LoadDataValidation 中的第一个参数

于 2012-10-10T14:31:48.330 回答