Excel在工作表中过滤并在“用户窗体”列表框中填充过滤范围

时间:2013-03-11 09:17:50

标签: excel vba listbox

我是StackOverflow和Excel / VBA的新手。首先,我做了一些谷歌研究来帮助解决我的问题,但没有一个很好的解释,我希望你们能帮忙。

我的问题:

我有一个工作表范围从A3:V100填充我的列表框。现在,我在工作表中使用带有自动过滤器的录制宏,我将这些宏添加到我的用户窗体中的按钮,但由于结果可能是第5行,第35行,第40行,我的范围不再正确。如何仅为筛选的行设置列表框范围,而不是为整个数据行设置。

我目前的范围代码:

    Sub populateListbox1()

With ListBox1

    .ColumnHeads = True
    .ColumnCount = 30
    .ColumnWidths = "30;30;50;50;60;50;50;50;50;50;50;50;50;0;0;0;0;0;0;0;50;50;0;0;0;0;0;0;0;0"
    .RowSource = Sheet1.Range("A6", Range("AD" & Rows.Count).End(xlUp)).Address
End With

End Sub

我问:

当我应用自动过滤器时,任何人都可以为我的rowSource范围提供正确的代码。或者有人有其他想法来过滤我的列表框吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果找到了这样做的方法。

我使用“转到特殊”“只有可见细胞”我选择我的结果,将这些值复制到另一张纸上。 我将这些步骤记录为宏。

毕竟,我像任何其他列表框一样填充我的列表框。