我正在尝试为 Excel 表格制作过滤器。我有 2 个下拉框,其中项目列表在刷新表时调用的宏中动态添加。
Set selectBook = Worksheets("Report").DropDowns("DropDownBook")
selectBook.RemoveAllItems
For Each b In books
selectBook.AddItem (b)
Next
其中“books”是一个包含新值的数组。其他带有“作者”的下拉列表的代码类似。运行此宏后,不会显示初始选择。我在 dropdownchange 事件中附加了一个宏,它读取两个下拉列表中的选择
Set books = Worksheets("Report").DropDowns("DropDownBook")
bookSelect = books.List(books.ListIndex)
并进行必要的过滤。问题是,如果我选择作者,宏将在上面给出的第二行代码中中断
Run time error '1004':
Unable to get the List property of the DropDown class
如果我选择一本书,作者也会这样做。我想这是因为框中没有初始选择,但我似乎无法找到一种方法如何在代码中进行选择。我努力了
selectBook.ListIndex = 0, selectBook.Value=0 etc.
,但没有任何效果。我错过了一些明显的东西吗?任何帮助将不胜感激。