Excel VBA查找表值基于组合框选择导致错误

时间:2016-05-16 17:29:57

标签: excel vba excel-vba

我有一个具有组合框的用户窗体,用于在表中查找值以填充同一用户窗体上的文本框。代码正在运行。它产生了所需的结果,表单数据准确地保存到表中,但是没有得到我的MsgBox" Saved",我得到错误1004'无法获得工作表函数类的VLookup属性。 ' 当我调试突出显示的行是Me.men10.Value = Application.WorksheetFunction.VLookup(rec1, rRange, 47, 0)

这是其中的子程序:

Private Sub men8_Change()
Dim rec1 As String
Dim rRange As Range
Set rRange = Sheets("Recipe Box").Range("tblRecipes")

rec1 = Me.men8.Value
Me.men10.Value = Application.WorksheetFunction.VLookup(rec1, rRange, 47, 0)

End Sub

我在表单上有四个,正如我所说,一切正常,但仍会导致错误。有什么建议?我到处搜索但无法找到与工作代码错误相关的任何内容。

以下是表单控件的片段:带圆圈的文本框(men10)从其上方的组合框(men8)填充。

1 个答案:

答案 0 :(得分:0)

我能够复制这个,如果出现错误: -

  • 找不到匹配项。在我的场景中,它并不关心大写或小写,但如果没有匹配,我肯定会得到你得到的错误。进行手动检查以确保您在指定范围的第一列中获得完全匹配。
  • 如果我指定的列号大于命名范围中的列数。记住,值1并不严格意味着工作表上的A列,而是表示命名范围中的第一列(即,如果范围是“C5:L200”,则Arg3中的值1(col_index_num)将表示列C在工作表中。