Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 动态构建下拉列表?_Vba_Excel_Excel 2007 - Fatal编程技术网

Vba 动态构建下拉列表?

Vba 动态构建下拉列表?,vba,excel,excel-2007,Vba,Excel,Excel 2007,我需要动态构建一个下拉列表,在将特定文本输入单元格后,我执行一些SQL并从返回的行构建一个下拉列表 如何将事件集中在一个单元格(而不是整个电子表格)的值上 在创建下拉列表之前,是否必须将SQL行值“粘贴”到电子表格上?是否可以在VBA中填充下拉列表,而不必将值粘贴到电子表格上,然后突出显示它们以创建下拉列表 谢谢否创建下拉列表时,无需在工作表中粘贴值。看这个例子 Option Explicit Sub Sample() Dim dvList As String '~~>

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

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

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


谢谢

否创建下拉列表时,无需在工作表中粘贴值。看这个例子

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

很好,谢谢,现在您如何自动选择第一个选项?@Tizz:
Sheets(“Sheet1”).Range(“A1”).value=split(dvList,”,”)(0)
?在
结尾处添加此代码