如果在隐形模式下打开Excel工作表,Vlookup无法正常工作?

时间:2016-07-31 15:58:32

标签: excel vba excel-vba excel-formula vlookup

我正在使用vlookup函数从另一个工作表中检索数据,在后台模式下打开源文件,下面是我用来隐藏excel打开和屏幕更新的代码

Application.ScreenUpdating = False 
app.Visible = False

但是没有上面的行vlookup工作正常,当在隐形模式下打开时只有vlookup功能无效。

    partner = "C:\K\KDt\Con.xls"
    Set pf = app.Workbooks.Open(partner)
    Set ps = pf.Worksheets("Con")

ThisWorkbook.Sheets("KQC").Range("H4:H" & k) = "=IFERROR(VLOOKUP(A4&""SP"",Contract_PARTNERS.xls!$H:$R,4,),"""")"

1 个答案:

答案 0 :(得分:0)

问题是由Excel如何处理工作簿引用之间的链接引起的。您的代码正在创建指向Excel预期未打开的文件的链接,因此不正确。即使它不可见也是开放的。

要引用另一个工作簿,您不必同时打开该文件。

文件打开时的示例公式:

=VLOOKUP(A1,'1.csv'!$A:$I,9,0)

文件关闭时的相同公式

=VLOOKUP(A1,'C:\Users\nable\Documents\csvs\[1.csv]1'!$A:$I,9,0)

如果在放入公式时建立了链接,则Excel应在文件打开/关闭时自动进行调整。