2016-07-31 5 views
0

я извлечение данных из другого листа с помощью ВПРА функции, исходный файл открыт в фоновом режиме, ниже код я использовал для шкуры первенствовать открытия и экрана обновлениеVlookup не работает, если открыт лист excel в невидимом режиме?

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

Вам нужно показать весь ваш код - в противном случае все еще остаются очевидные вопросы. Как ... вы установили «Application.ScreenUpdating = True» перед установкой «app.visible = 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 должен автоматически выполнять регулировку, когда файл открыт/закрыт, если связь была установлена ​​в время, в которое была добавлена ​​формула.

Смежные вопросы