Excel - выключите окно, которое просит вас изменить ссылки на книгу - PullRequest
0 голосов
/ 30 июня 2018

Я создал ссылки на около 100 книг, но не все из них существуют. Это хорошо, потому что, если они не существуют, это обычно означает, что мне это не нужно. Ссылки создаются на основе конкатенации строк, и последний шаг заключается в вставке по значению в ячейку. Пример ссылки может выглядеть так: "='P:\TEMP\[wb1.xlsx]sheet1'!$D$1

Теперь мне нужно удалить первую кавычку, чтобы ссылка была «живой»

Я написал макрос, который выполняет поиск и замену в строке

Sub BringAlive()

Rows("18").Select

Selection.Replace What:="""", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

End Sub

Единственная проблема, связанная с этим, заключается в том, что когда рабочей книги не существует, появляется окно с просьбой найти рабочую книгу. Мне нужно много раз нажать ESC, пока не закончится выполнение кода. Я не могу просто держать ESC, так как это остановит код.

Есть ли лучшее решение для удара по ESC?

Спасибо.

1 Ответ

0 голосов
/ 30 июня 2018

Вы можете попробовать отключить оповещения для своего кода (или только часть)

Sub BringAlive ()

Application.DisplayAlerts = False

'Your code here

Application.DisplayAlerts = True

End Sub

Кроме того, вам следует избегать использования метода .Select. ( см. Здесь для получения дополнительной информации )

Rows("18").Replace What:="""", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
...