0

データ テーブルの 1 つの列 (それぞれ) からのデータが読み込まれる 2 つのデータ検証セルを使用している状況があります。

テーブル

市場; suprv; お店; ....

データ検証

  • cellDV1 -テーブルからの一意の値[市場]
  • cellDV2 -テーブルからの一意の値[suprv]

ユーザーがワークシートを表示すると、 cellDV1cellDV2の両方にそれぞれの一意の値がプリロードされます。

ユーザーがcellDV1から値を選択すると、選択した値でテーブルがオートフィルター処理されます。次に、表に表示されている洗練された結果でcellDV2をリロードします。

私が抱えている問題は、オートフィルター処理された結果ではなく、テーブルのその列/フィールドからすべての一意の値をロードしていることです。

使用法:

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

LoadDataValidation:

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)プロパティを範囲に適用できますか

LoadDataValidationRange("Table[suprv]").SpecialCells(xlCellTypeVisible)の最初の引数として

于 2012-10-10T14:31:48.330 に答える