Могу предложить два варианта
- Прямая копия
Исходя из вашего описания, я предполагаю, что вы делаете что-то вроде
Set wb2 = Application.Workbooks.Open("YourFile.xls")
wb2.Sheets("YourSheet").[<YourRange>].Copy
ThisWorkbook.Sheets("SomeSheet").Paste
wb2.close
Если это так, вам не нужно копировать через буфер обмена. Этот метод копирует из источника в место назначения напрямую. Нет данных в буфере обмена = нет приглашения
Set wb2 = Application.Workbooks.Open("YourFile.xls")
wb2.Sheets("YourSheet").[<YourRange>].Copy ThisWorkbook.Sheets("SomeSheet").Cells(<YourCell")
wb2.close
- Подавить подсказку
Вы можете предотвратить все всплывающие окна с предупреждением, установив
Application.DisplayAlerts = False
[Изменить]
- Для копирования только значений : вообще не использовать копирование / вставку
Dim rSrc As Range
Dim rDst As Range
Set rSrc = wb2.Sheets("YourSheet").Range("YourRange")
Set rDst = ThisWorkbook.Sheets("SomeSheet").Cells("YourCell").Resize(rSrc.Rows.Count, rSrc.Columns.Count)
rDst = rSrc.Value