我正在将数据从一个工作簿复制并粘贴到另一个工作簿。不幸的是我对运行时不满意。特别是我的代码的这部分需要很多时间。你有什么想法减少运行时间吗?
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
答案 0 :(得分:1)
这应该会提高性能,而且@EngJon指的是不使用select。
Function CopyData()
Dim rng As Range
Application.ScreenUpdating = False
sws.Activate
Range("C4:GF" & Range("GF" & Rows.Count).End(xlUp).Row).Copy
tws.Activate
Range("A12").PasteSpecial Paste:=xlPasteAll
Set rng = Range("D12:GD" & Range("GD" & Rows.Count).End(xlUp).Row)
rng.Value = rng.Value
Application.ScreenUpdating = True
End Function