Почему бы вам просто не скопировать значения, содержащиеся в листе, вместо всего объекта листа?
v = Workbooks("Book1").Worksheets("Sheet2").Range("A1:IV65536")
Workbooks("Book3").Worksheets("Sheet1").Range("A1:IV65536") = v
, где v
- вариант. Или
Workbooks("Book3").Worksheets("Sheet1").Range("A1:IV65536") = _
Workbooks("Book1").Worksheets("Sheet2").Range("A1:IV65536")
Это займет пару секунд, но будет быстрее, если вы уменьшите диапазон до того, что вам действительно нужно ("A1:IV65536"
предположительно преувеличено ...)
Конечно, это не сработает, если у вас также есть формулы на копируемом листе, и вам нужны эти формулы на листе назначения. Из вашего вопроса не ясно, чего именно вы пытаетесь достичь.