返回列表 上一主題 發帖

[發問] VBA下拉式選單(已解決)

[發問] VBA下拉式選單(已解決)

本帖最後由 arcticfox 於 2011-5-19 17:27 編輯

各位大大午安@@"
這次又有一個小問題

如下圖, 我設計了一個客戶管理表, 不過我希望之後所有對話框的下拉式選單"Company"可以引用該表格的客戶欄位


意思就是說, 未來新增的客戶資料, 其中客戶的名字可以被引用到下拉式選單裡面, 如下圖

因為我只會用寫

Private Sub UserForm_Initialize()

Pro_Statu.Combo_Cus.List = Array("xxxx", "xxxx") 之類的

End Sub

不曉得是否有什麼方法可解決此問題? 再麻煩各位大大指導, 謝謝^^

回復 1# arcticfox
你可以在 SelectionChange 裡加上判斷式,
只要 A 欄內容有異動就更新該下拉式選單的內容.

先用 Range(Cells(1, 1), Cells([A65535].End(xlUp).Row, 1)) 取得要丟給選單的名稱範圍,
再將其賦予給該選單即可.

TOP

好, 謝謝大大
我先試試看^^

TOP

將A欄資料定義動態範圍的名稱
ComboBox的RowSource屬性設為該名稱
學海無涯_不恥下問

TOP

回復 4# Hsieh

3Q兩位大大的指導, 不過都沒用出來T_T
版主意思是說像下面一樣, 寫法嗎


不過他不讓我設定屬性, 無效的屬性直
我直接在RowSource打 Cus_List


想請問是哪個環節搞錯呢??

TOP

例如:
Private Sub UserForm_Initialize()
Dim i%
i = Range("A65536").End(xlUp).Row
Me.ComboBox1.List = Sheet1.Range("A1:A" & i).Value
End Sub

TOP

哇咧~~怎麼和我想的完全不一樣=.=
我先試試看
果然用想的都比實際下去弄還簡單
電腦太笨  還是我太笨XD

3Q各位大大

TOP

本帖最後由 arcticfox 於 2011-5-17 14:34 編輯

回復 6# chin15


   一個小問題
我將大大的程式碼改寫如下:


Private Sub UserForm_Initialize()

Dim i%

i = Range("A65536").End(xlUp).Row
Pro_Statu.Combo_Cus.List = Worksheets("客戶資料管理").Range("A1:A" & i).Value

End Sub
不過總是會出現, 執行階段錯誤381 - 無法設定List屬性. 屬性陣列引索不正確

所以我重新把整段程式複製進去
並只改寫了combobox1那個部分

卻得到 : 執行階段錯誤424 - 此處需要物件

TOP

回復 5# arcticfox


    option.gif
學海無涯_不恥下問

TOP

本帖最後由 arcticfox 於 2011-5-17 15:11 編輯

回復 9# Hsieh


酷!!  3Q 版大 :'(

不想再多增加版面
在一次3Q各位大大
我終於搞定哩XD
等摸熟再來慢慢試試看自己用寫的方式
:lol

TOP

        靜思自在 : 要比誰更受誰.不要比誰更怕誰。
返回列表 上一主題