Я копирую и вставляю данные из одной книги в другую книгу. К сожалению, я не удовлетворен своей работой. Особенно эта часть моего кода требует много времени. У вас есть идея уменьшить время выполнения?Excel VBA уменьшить время выполнения
Function CopyData()
sws.Activate
Range("C4:GF4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
tws.Activate
Range("A12").Select
ActiveSheet.Paste
Range("D12:GD12").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Function
Сколько времени занимает в настоящее время? Вы пробовали это время? Это не похоже, что это займет много времени. Есть ли другие причины? – L42
Вы попробовали 'application.calculation = xlmanual' перед вставкой? Не забудьте снова включить его в авто. Фактически вы вставляете его в качестве значений, но я предположил, что на листе могут быть другие формулы, которые используют эти значения. – Dubison
Вообще говоря, работа с 'Select' будет замедлять ваш код, поскольку вы изменяете лист excel. Первым шагом, мешающим этому замедлить ваш код, будет 'Application.ScreenUpdating = False' в начале функции. – EngJon