我有一张Excel工作表,它根据按钮对多列进行过滤,并填充一个组合框。
我的想法是构建具有多个类别的产品选择器(可以是多个类别的一部分)。
VBA不是我的领域,经过几天的搜索,我得到的解决方案非常不优雅。
我面临的问题:
伪代码:
电子表格: 数据来自不同格式的多个选项卡(由RadioButtons选择) 需要在comboBox中显示11列
问题: 任何人都可以回答为什么newRange = oldRange.SpecialCells(xlCellTypeVisible)没有正确转移到combobox.list? 我可以在窗体后面的excel窗口中看到自动过滤器正在工作,然后选择正确的数据。 我面临的问题是它填充ComboBox列表,直到第一个隐藏/过滤值然后停止。这意味着我可以通过先排序来使其工作,但我并不相信我能够通过多种排序和扩展来扩展它。多个过滤器,避免良好值之间的任何隐藏值(导致组合框列表不完整)...
虽然这可能有用,但我觉得我正在吃它,有没有更简单的方法将这些值输入到组合框中。
提前致谢
答案 0 :(得分:0)
确保正确设置ColumnCount属性。如果设置为1,则只显示一列。
最好在UserForm Initialize事件期间设置组合框的ColumnCount属性,如下所示......
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Dim oldRange As Range
Set ws = Sheets("Sheet1")
Set oldRange = ws.Range("A1").CurrentRegion
Me.ComboBox1.ColumnCount = oldRange.Columns.Count
End Sub