我正在尝试为Excel表格创建一个过滤器。我有2个下拉框,其中的项目列表动态地添加到一个在刷新表时调用的宏中。如何从Excel中的代码设置下拉选择(VBA)
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.
,但没有任何工作。我错过了明显的东西吗?任何帮助将不胜感激。
奇怪的是它适用于我...... –
我可以看到您的文件吗?如果是的话,然后上传到任何文件共享网站,并在这里分享链接.. –
不幸的是,它是商业敏感的,所以我不能发布真正的文件,并没有模拟复制错误。哪个选项是应该工作的选项? .ListIndex = 0? – user2808401