2016-07-31 28 views
0

我从另一片使用VLOOKUP函数检索数据时,在后台模式下打开源文件时,下面是我用于隐藏了Excel打开和屏幕更新如果在隐形模式下打开Excel表格,Vlookup无法工作?

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,),"""")" 
+0

这是什么意思:“我得到任何结果形式的查找。” – dbmitch

+0

@dbmitch当我在隐形模式下打开excel时,vlookup引用不起作用。我没有得到任何结果,但当我在查看模式下打开查找工作正常 –

+2

你需要显示你的所有代码 - 否则不必要的明显问题仍然会被问到。像......你在设置'app.visible = true'之前设置了“Application.ScreenUpdating = True”。另外你在哪里设置应用程序变量? – dbmitch

回答

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中应自动进行调整,当文件被打开/关闭,如果该链接在成立公式的时间。

相关问题