Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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
Excel vba组合框搜索_Vba_Excel_Combobox - Fatal编程技术网

Excel vba组合框搜索

Excel vba组合框搜索,vba,excel,combobox,Vba,Excel,Combobox,我有一个主工作簿和一个Excel子工作簿。我在两本工作手册上都有我的用户表单。这里的问题是,我正在主书本中打开一个用户表单,通过该用户表单我想打开这个子书本。我成功地做到了;我有一个组合框要搜索:所以它有时会显示一个错误: 类型不匹配: 这是我的密码: Private Sub ComboBox2.DropDown Sheets(1).Select Application.Goto "R1C1" Dim r As Range, v() As Variant, s

我有一个主工作簿和一个Excel子工作簿。我在两本工作手册上都有我的用户表单。这里的问题是,我正在主书本中打开一个用户表单,通过该用户表单我想打开这个子书本。我成功地做到了;我有一个组合框要搜索:所以它有时会显示一个错误:

类型不匹配:

这是我的密码:

Private Sub 
    ComboBox2.DropDown
    Sheets(1).Select
    Application.Goto "R1C1"

    Dim r As Range, v() As Variant, s() As String
    'Set r = Range("InSheetDropDownList")
    Set r = Worksheets("Sheet1").Range("A2", _
        Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp))
    v() = WorksheetFunction.Transpose(r)

    On Error Resume Next

    With ComboBox2
        If .Value = "" Then .List = v()
        s() = Filter(WorksheetFunction.Transpose(.List), .Text, True, vbTextCompare)
        If UBound(s) = -1 Then
            .Text = ""
        Else
            .List = WorksheetFunction.Transpose(s)
       End If
   End With
  'ComboBox2.DropDown
End Sub

我是这个网站的新手。我希望我能很快得到帮助。thank youElse.List=WorksheetFunction.Transpose结束如果以“ComboBox2.DropDown结束sub结束您可以使用“编辑”按钮(位于“共享”和“关闭”之间)向您的帖子添加详细信息或以其他方式修改它。评论不适合改进问题。是否有时,您可能会将一个范围设置为多个列?@AntonSamsonov-“共享和关闭之间”对于1个代表用户可能应该是“共享的右侧”。(我记得不太清楚,但我不认为会显示“关闭”或“标志”。)