我需要动态构建一个下拉列表,在将特定文本输入单元格后,我执行一些 SQL 并Dropdown从返回的行构建一个。
事件如何集中在一个单元格(而不是整个电子表格)的值上?
我必须在创建之前将 SQL 行值“粘贴”到电子表格中Dropdown吗?是否可以在 VBA 中填充 ,Dropdown而不必将值粘贴到电子表格上,然后突出显示它们以创建Dropdown?
谢谢
我需要动态构建一个下拉列表,在将特定文本输入单元格后,我执行一些 SQL 并Dropdown从返回的行构建一个。
事件如何集中在一个单元格(而不是整个电子表格)的值上?
我必须在创建之前将 SQL 行值“粘贴”到电子表格中Dropdown吗?是否可以在 VBA 中填充 ,Dropdown而不必将值粘贴到电子表格上,然后突出显示它们以创建Dropdown?
谢谢
不,不必在工作表中粘贴值来创建下拉菜单。看这个例子
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