从表单控件获取列表值

时间:2019-03-13 14:58:37

标签: excel vba

我的Excel工作表中有一个下拉表单控件。它的输入范围是一个命名范围,其中包含另一个命名范围。我想在更改用户后将其重定向到选定的名称范围。我很难从下拉控件中直接获取“选定名称”范围。我所得到的只是dronwdown控件的列表值。我做了一个变通办法,并从“命名”主范围中选择了适当的单元格,但是我想知道是否应该有一种方法可以直接获取所选项目的字符串值。这是我的代码,我已经尝试过了。

  

**这有效:

Sub GotoNames()
Dim rng As Range, T As Range
    Set rng = ThisWorkbook.Sheets("Panel").Range("NamedRng")
    On Error GoTo errr
Retry:
    With ThisWorkbook.Sheets("Result").DropDowns(1)
       Set T = rng(.Value)
       Application.Goto T.Value2
    End With
    Exit Sub
errr:
    If T.Worksheet.Visible = xlSheetHidden Then
        T.Worksheet.Visible = xlSheetVisible
        resume Retry
    End If
End Sub

但是我想要:

Sub GotoNames()
'On Error Resume Next
    With ThisWorkbook.Sheets("Result").DropDowns(1)
        Application.Goto .ControlFormat.List(.ControlFormat.ListIndex) 'OR
        Application.Goto .ListFillRange(.value)
    End With
End Sub

0 个答案:

没有答案