VBA 控件学习笔记(下拉列表实现)


本节说的是使用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



评论

支持上传图片(拖动图片或者截图粘贴)

0 评论