VBA 控制元件學習筆記(下拉選單實現)

Bgods發表於2020-03-30

本節說的是使用VBA實現下拉選單框的實現,同時下拉框顯示的數值是從另一個sheet中獲取。

實現效果

比如如下效果:

程式碼實現:

'重新整理ComboBox1內容
Private Sub ComboBox1_DropButtonClick()
     ComboBox1.List() = get_arr("物流裝箱清單", 2, 1)
End Sub
  • 第一行:ComboBox1_DropButtonClick()是ComboBox1控制元件下拉時候觸發的事件過程,只要觸發下拉動作就執行該過程程式碼;
  • 第二行:get_arr("物流裝箱清單", 2, 1)是自定義的函式,從“物流裝箱清單”工作表中第1列、第2行開始查詢,返回一個非重複陣列;
'定義一個函式:獲取sheet中的第幾列的非重複值
 Private Function get_arr(sheet_name, row, col)
    Dim dic, i
    Set dic = CreateObject("scripting.dictionary") ' 建立字典
    With Sheets(sheet_name)
        For i = row To .Cells(Rows.Count, col).End(3).row
            dic(.Cells(i, 1).Value) = ""
        Next i
    End With
    get_arr = dic.keys
End Function
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章