使用.Autofilter,在Textbox.value中使用结果

时间:2014-01-13 11:58:59

标签: excel vba excel-vba autofilter

我使用.autofilter来过滤excel中的列表,我的问题是我想让自动过滤器的结果填充文本框。我知道我可以使用类似的东西

textbox.text = Data(a1).value
然而,当细胞被过滤时,它们保持原始细胞位置,所以我不能只使用细胞位置。过滤器只会有一个结果,所以我需要一些东西来填充过滤器标题下面的行中的文本框。

对于背景,所有想法都是有一个可以从当前有效的用户形式搜索的电子表格,然后在文本框中显示结果。保持电子表格的用户远离原始数据。

2 个答案:

答案 0 :(得分:0)

也许函数SpecialCells(xlCellTypeVisible)可以帮助你......你的代码看起来像这样:

Sheet1.Range.SpecialCells(xlCellTypeVisible).Cells(1,1).Value

我还没试过......

答案 1 :(得分:0)

如果您只有1个结果,则以下方法有效:

textbox.text = Sheet1.Range("myrange").SpecialCells(xlCellTypeVisible).Value

但如果过滤器中有超过1个结果,则会出现类型不匹配。