5

我需要动态构建一个下拉列表,在将特定文本输入单元格后,我执行一些 SQL 并Dropdown从返回的行构建一个。

事件如何集中在一个单元格(而不是整个电子表格)的值上?

我必须在创建之前将 SQL 行值“粘贴”到电子表格中Dropdown吗?是否可以在 VBA 中填充 ,Dropdown而不必将值粘贴到电子表格上,然后突出显示它们以创建Dropdown

谢谢

4

1 回答 1

6

不,不必在工作表中粘贴值来创建下拉菜单。看这个例子

Option Explicit

Sub Sample()
    Dim dvList As String

    '~~> You can construct this list from your database
    dvList = "Option1, Option2, Option3"

    '~~> Creates the list in Sheet1, A1
    With Sheets("Sheet1").Range("A1").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=dvList
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub
于 2012-06-13T10:12:40.990 回答