Макрос предлагает мне выбрать файл, даже когда он открыт - PullRequest
0 голосов
/ 17 января 2019

У меня жестко закодированное имя файла (old.xls) в моем макросе (в другой книге). old.xls уже открыт, когда я выполняю макрос. Уже тогда строка ниже предлагает мне выбрать файл.

.Formula = "=IF(AND(ISNUMBER(VALUE(MID(Q1, 2, 1))),LEFT(TRIM(Q1), 1) = ""R""),VLOOKUP(Q1 & "" *"",[old.xls]Sheet1!$D:$V,19,0),VLOOKUP(Q1,[old.xls]Sheet1!$E:$V,18,0))"

Пожалуйста, сообщите. Почему макрос не ссылается на old.xls, который уже открыт? Почему он просит меня выбирать old.xls каждый раз?

Каждый раз, когда я запускаю макрос, Excel предлагает мне открыть меню файла.

1 Ответ

0 голосов
/ 17 января 2019

Я уверен, что вы должны проверить полный справочник:

 Dim test As String  
 test = ThisWorkbook.Path & "\"  
 'your WITH block code...
   .Formula = "=IF(AND(ISNUMBER(VALUE(MID(Q1, 2, 1))),LEFT(TRIM(Q1), 1) = ""R""),VLOOKUP(Q1 & "" *"",'" & test & "[old.xls]Sheet1'!$D:$V,19,0),VLOOKUP(Q1,'" & test & "[old.xls]Sheet1'!$E:$V,18,0))"

Если все еще есть подсказка, я бы закрыл файл old.xls и проверил открытие простого файла:

 Sub openTest()
   Dim test As String
   test = ThisWorkbook.Path & "\old.xls"
   Workbooks.Open (test)
 End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...