问题描述
所以我只需要将一系列数据的值粘贴到工作表“MasterList”中。我正在寻找方法来做到这一点,并发现了这一点:
.PasteSpecial Paste:=xlPasteValues
我应该如何更改代码才能使用 .PasteSpecial Paste:=xlPasteValues 函数?我想我需要两行代码来完成这个,但我无法弄清楚语法......
Dim Lastrow As Integer
Lastrow = Cells(15,3).Value + 3
Dim copyrange As String
Startrow = 3
Let copyrange = "I" & Startrow & ":" & "K" & Lastrow
Range(copyrange).Select
Selection.copy
Sheets.Add.Name = "MasterList"
**ActiveSheet.Paste Destination:=Range("A1")**
ActiveSheet.Move
解决方法
你应该避免使用 select 但也要避免使用剪贴板,因为它很慢:
With ActiveSheet 'should put the actual sheet here
Dim Lastrow As Long
Lastrow = .Cells(15,3).Value + 3
Dim startrow As Long
startrow = 3
Dim Copyrange As String
Copyrange = "I" & startrow & ":" & "K" & Lastrow
Dim rng As Range
Set rng = .Range(Copyrange)
Dim mstlt As Worksheet
Set mstlt = Worksheets.Add
mstlt.Name = "MasterList"
mstlt.Range("A1").Resize(rng.Rows.Count,rng.Columns.Count).Value = rng.Value
End With