Excel VBA - 创建ListBox

时间:2013-01-23 14:47:15

标签: excel vba listbox

如何在Excel VBA中创建(不修改/填充)ListBox? 我需要为列中的每个单元格生成各种ListBox,没有VBA这样做是不切实际的。我正在寻找类似的东西:

Dim lb as ListBox
' Populate ListBox Here '

worksheet.Cells(1,1) = lb ' Apply ListBox to cell '

我已经彻底搜索了这个(也许我的术语是错误的)但我找不到创建列表框的单一参考,并将其应用于各种单元格。

谢谢!

编辑:应该注意Dim lb As MSForms.ListBox抛出错误

  

“用户定义的类型未定义”

。也许这是如何创建ListBoxes ...但我需要包括这个库?????我不知道怎么做......

1 个答案:

答案 0 :(得分:1)

如果您知道如何从Excel创建列表框,而不是使用VBA,只需记录一个宏,然后检查生成的代码。

LE:这是我能记录的。源值与目标列表位于同一工作表中,但我认为您可以从此处接管并根据需要进行扩展。

With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:="=$A$1:$A$6"
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = True
End With