获取VBA中的下拉值并获取下拉列表的名称......无处可寻?

EKe*_*Ket 8 excel vba excel-2003 excel-vba

我通过从UserForm工具栏将组合框拖到我的工作表上创建了一个下拉列表.我从书中的一些单元格中为它指定了一些值.现在我想要一些VBA代码以字符串的形式访问所选下拉项的值.

我的下拉列表只包含文字.

另外,我如何找到这个新创建的下拉列表的名称(它在属性中没有任何地方!)?

EKe*_*Ket 7

Dim dd As DropDown
Set dd = ActiveSheet.DropDowns("Drop Down 6") 
Set r = Sheet2.Range(dd.ListFillRange)

Set ddValue = r(dd.Value)
Run Code Online (Sandbox Code Playgroud)

笔记:

  • DropDown不是可见类.你只需使用它就可以了.

  • 为了找到下拉的名称 CONTROL(不窗体),只是看
    在你的屏幕正上方列A的左上角的名称框它说,该控件的名字,当你右击你的control.-

  • Sheet2是填充下拉列表的位置.所以无论你的列表数据在哪里.

    希望对大家有所帮助.


Lan*_*rts 5

以下是无需知道名称即可获取字符串的方法:

Dim DD As Shape

Set DD = ActiveSheet.Shapes(Application.Caller)

MsgBox DD.ControlFormat.List(DD.ControlFormat.ListIndex)
Run Code Online (Sandbox Code Playgroud)