При использовании Paste.Special появляется окно значений обновления - PullRequest
0 голосов
/ 04 мая 2019

Я открываю файл и выбираю лист. У меня есть материал в буфере копирования, чтобы вставить в него. Следующая строка выполняет PasteSpecial для этого листа, но появляется всплывающее окно для обновления значений со списком имен файлов для выбора.

Второй вызов PasteSpecial в порядке. Заголовок окна ввода вверху говорит ЗНАЧЕНИЯ ОБНОВЛЕНИЯ: Таблица электронных объявлений Variant.xslx - версия книги, созданной и удаленной неделю назад.

Я пошел в окно данных и удалил все зависимости, перечисленные на панели соединений, чтобы не было никаких соединений. Я прошел по коду с помощью вызовов msgbox, чтобы увидеть, действительно ли ошибка не связана со строкой кода, а происходит откуда-то еще - но это всегда происходит в этой строке.

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

Если я нажму на кнопку отмены, макрос продолжит без ошибок.

Я вызываю только одну подпрограмму в этом модуле, которая проверяет, открыт ли выходной файл. Я получаю ту же проблему в трех других модулях, построенных таким же образом. Я знаю, что все ненавидят «активировать», но я новичок (в глубокой воде) и делаю, что могу.

Я выстраиваю свои входные и выходные файлы, открытые ранее - я просто проверяю их доступность. Это не в цикле, поэтому время активации не имеет значения.

Option Explicit

Workbooks(Infilename).Activate
Worksheets(InputSheet).Activate
'I pickup the columns to copy

Columns("B:AO").Select
Selection.Copy

'make sure the output file is lined up
Workbooks(Outfilename).Activate
Worksheets(TargetSheet).Activate

Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, 
Operation:=xlNone, _
  SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

Результаты этого хороши, за исключением этого сбоя, связанного с первым Selection.PasteSpecial вызовом.

Изображение диалогового окна, которое появляется

enter image description here

1 Ответ

0 голосов
/ 05 мая 2019

Я перепробовал много вещей, предложенных на этом и других форумах. Но решение состояло в том, чтобы снять защиту страниц в моей электронной таблице, перейти к «Соединениям» на вкладке «Данные» и разорвать все соединения с более ранними версиями. Как они вошли в первую очередь, я не знаю. Но другие предложения, которым я следовал (рассматривая условное форматирование и проверку данных), хотя они и не помогли решить эту проблему, позволили улучшить общий код и добавить некоторые новые инструменты в мой пояс. Нет больше всплывающих запросов ввода из ниоткуда. Спасибо StackOverflow.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...