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)
必要なフィルタリングを行います。問題は、作成者を選択すると、上記のコードの 2 行目でマクロが壊れてしまうことです。
Run time error '1004':
Unable to get the List property of the DropDown class
本を選択すると、著者に対しても同じことが行われます。これは、ボックスに最初の選択がないために発生すると思いますが、コードで選択する方法が見つからないようです。私が試してみました
selectBook.ListIndex = 0, selectBook.Value=0 etc.
、しかし何も機能していません。明らかな何かが欠けていますか?どんな助けでも大歓迎です。