ComboBox ListFillRange 动态范围问题。如何使下拉菜单不包含错误的单元格?

问题描述 投票:0回答:1

因此,我有一个搜索文件,以便查找我工作地点的警报面板号码。我为不同的建筑物设置了一个表,为每个建筑物内的区域设置了另一个表,一个以建筑物作为表标题的表(每列都是一个命名范围),一个标识每个面板编号及其特定区域的表,以及根据第一个组合框中选择的建筑物对特定区域进行索引的列。我遇到的问题是,由于“活动建筑”列使用索引公式,“空白”单元格实际上并不是空白,因此 Offset>>CountA 公式在区域选择中留下最多 21 个空白空间我用作 ComboBox 的 ListFillRange。此外,如果我尝试使用 Countif 或 sum,那么 ListFillRange 只会生成一个答案,即使有更多答案。

我尝试过使用动态命名范围、Countif、Countifs、Sum 等公式的变体,甚至只是将偏移高度设置为特定高度,但它只给我留下了一个答案。

似乎无论我将其更改为什么,它要么会给我一堆错误的空白答案,要么没有足够的答案

编辑:现在我发现组合框正在填充我自己专门输入的 ListFillRange (LFR) 的最新更新。因此,如果 Countif(Active, "?*") 最后计算为一个高数字,那么当我填写 LFR 并按 Enter 键时,它会将组合框填充为具有高行数,并且如果我将建筑物更改为只有一个条目的建筑物,它仍然会显示所有 21 行。同样,如果我在 Countif 包含答案 5 时填写 LFR,那么即使我将建筑选择器更改为具有更多条目的内容,它也会将 ComboBox 填充为只有 5 个条目。

有没有办法让 LFR 在每次建筑物选择器(或其链接的单元格)更新时重新计算?

excel excel-formula combobox activex
1个回答
0
投票

所以,就像 Excel 上的大多数事情一样。一旦我找到答案,答案就很明显了,我觉得自己很愚蠢,因为没有早点想到它。

就像@Rory所说,在这种情况下,

COUNTA
OFFSET
不匹配,但
COUNTA
COUNTIF
不是问题所在。

COUNTIF
工作完美,只是每次
ListFillRange
更新时组合框并未更新。

我需要添加一些 VBA 到其中

我用这个解决了这个问题。由于更改建筑物选择 (ComboBox1) 时需要更新位置 (ComboBox2),因此我专门将此代码添加到 ComboBox1。

Private Sub ComboBox1_Change()
     ComboBox2.ListFillRange = "=ActiveX"
End Sub

这有效地解决了我的问题,所以我将其标记为答案。如果有人有任何疑问,我很乐意进一步讨论。

..该死的,我觉得自己很愚蠢..

© www.soinside.com 2019 - 2024. All rights reserved.