2014-05-02 64 views
0

我有三個組合框。 一個爲州,一個爲區,一個爲城市。如何製作動態相關的Excel VBA組合框?

到目前爲止,我已經設法用獨特的狀態名稱列表填充我的第一個組合框。

當第一個組合框選取相應的區域並選擇第一個組合框(默認情況下)時,我需要一個子組來運行,類似地,第一個城市在第一個組合框對應的第三個組合框中被選中(默認)。

我需要一個分區運行時,第二個組合框挑選相應的城市,並選擇第一個(默認情況下)。

然後,用戶應該能夠選擇城市並查看與該城市相關的數據。

如何製作這些子例程?

注:

"States"是我的國家的名單,與repitions。

"uniqueStates"是第一個Combobox的名稱。

"districList"是第二個組合框的名稱。 "cityList"是第三個組合框的名稱。

Function UniqueList() 
    'Populate control with 


    'unique list. 


    Range("States").AdvancedFilter Action:=xlFilterCopy, _ 
    CopyToRange:=Range("uniqueStates"), Unique:=True 


    'Set combo control's Row Source property. 


    Range("uniqueStates").Activate 


    UserForm1.uniqueStateList.RowSource = Selection.CurrentRegion.Address 


    'Display user form. 


    UserForm1.Show 


    Selection.CurrentRegion.Clear 


End Function 

另外我不明白爲什麼第一個組合框填充第一個狀態名兩次。其餘條目是唯一的,只是第一個是重複的。

+0

請問你的數據是什麼樣子?如果你在excel表中有數據,這個表是怎麼樣的?你能添加一個你正在使用的數據樣本嗎? – dee

回答

0

這是一個錯誤。如果你試圖用Excel進行直接,錯誤仍然...
地址:

Range("uniqueStates").RemoveDuplicates Columns:=1, Header:=xlNo 

繞過漏洞...