2016-07-31 50 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中應自動進行調整,當文件被打開/關閉,如果該鏈接在成立公式的時間。

相關問題