2016-07-31 3 views
0

私は機能をVLOOKUP使用して別のシートからデータを取得しています、バックグラウンドモードで開かれたソースファイルは、以下の私は細かい作業VLOOKUP隠すExcelの開口部と画面更新開いていると見えないモードでシートを読み取ると、Vlookupが機能しません。

Application.ScreenUpdating = False 
app.Visible = False 

のためではなく、上記の行せずに使用したコードは、あります目に見えないモードで開いているときは、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

これはどういう意味ですか:「私は結果形式vlookupを取得しています。 – dbmitch

+0

@dbmitchオープンしたときに見えないモードでExcelを実行すると、vlookupの参照が機能しません。私はどんな結果も得られませんが、私はビューモードで開いているときにvlookupが正常に動作しています –

+2

あなたはすべてのコードを表示する必要があります - そうでなければ不必要な明白な質問が続けられます。あなたが 'app.visible = true'を設定する前に" Application.ScreenUpdating = True "を設定しましたか?あなたはapp変数をどこで設定しますか? – 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が自動調整を行う必要がありますが/閉じ数式が入力された時間

関連する問題