Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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中使用VLookup时出现运行时错误_Excel_Vba - Fatal编程技术网

在Excel中使用VLookup时出现运行时错误

在Excel中使用VLookup时出现运行时错误,excel,vba,Excel,Vba,我不断得到: 运行时错误“1004”无法获取WorksheetFunction类的Vlookup属性 使用下面的Vlookup代码 如果启用Microsoft outlook 12.0对象库,它会正常工作,但会遇到代码与Excel 2013一起使用并添加Excel 2007上不可用的Microsoft outlook 15.0对象库引用的问题。我加入了后期绑定,除了这一段代码外,它在大部分情况下都有效 我已经包括了一段代码,我希望有人能帮助我 Sub Button154_Click()

我不断得到:

运行时错误“1004”无法获取WorksheetFunction类的Vlookup属性

使用下面的Vlookup代码

如果启用Microsoft outlook 12.0对象库,它会正常工作,但会遇到代码与Excel 2013一起使用并添加Excel 2007上不可用的Microsoft outlook 15.0对象库引用的问题。我加入了后期绑定,除了这一段代码外,它在大部分情况下都有效

我已经包括了一段代码,我希望有人能帮助我

Sub Button154_Click()

    Dim forename As String
    Dim surname As String
    Dim movedate As String
    Dim callref As String
    Dim dept As String
    Dim deptmove As String
    Dim wb As Workbook

    Set wb = ThisWorkbook

    forename = Sheet1.Range("f8").Value
    surname = Sheet1.Range("f9").Value
    movedate = Sheet1.Range("k13").Value
    callref = Sheet1.Range("k8").Value
    dept = Application.WorksheetFunction.VLookup(Name, Sheet1.Range("K10"), 1)
添加了后期绑定代码 作为对象的Dim otlApp 设置otlApp=CreateObjectOutlook.Application

将vlookup更改为: dept=Application.WorksheetFunction.VLookupoltApp,表1.RangeK10,1


现在效果很好

名字是什么?另外,您的查找范围是单个单元格…?假设名称是字符串,则该代码在Excel 2013中运行良好,不添加任何引用…主工作表有一个使用Vlookup填充的单个单元格字段,我使用此代码将结果分配给dept字符串。我尝试将名称添加为字符串,但仍然出现相同的错误。您的代码没有显示任何后期绑定。您是如何执行此后期绑定的?Excel加载项和宏中不包含和引用。引用仍然必须安装并注册在任何尚未安装它们的计算机上。代码的其他部分使用了后期绑定。我的VBA知识水平很差,至少可以这么说。那么您是否知道为什么启用Microsoft outlook 12对象可以让代码正常工作?你知道我会如何包括延迟绑定来阻止这一点,还是我走错了方向?