如何在不使用select的情况下复制范围。我需要一切,不仅仅是价值观。 当前庞大的代码:
Function Template(x As Integer)
Sheets("Sheet1").Select
Sheets("Sheet1").Range("E1:H5").Select
Selection.Copy
Sheets("Sheet2").Select
Sheets("Sheet2").Cells(1, x).Select
ActiveSheet.Paste
End Function
谢谢!
答案 0 :(得分:1)
您可以使用Range.Copy
(https://msdn.microsoft.com/en-us/library/office/ff837760.aspx)复制范围而不进行选择,例如...
Range("A1").Copy Range("A2")
会将包含值和格式的所有内容从A1
复制到A2
。
答案 1 :(得分:0)
Function Template(x As Integer)
Dim sourceRange As Excel.Range
Dim destinationRange As Excel.Range
Set sourceRange = Sheets("Sheet1").Range("E1:H5")
Call sourceRange.Copy
Set destinationRange = Sheets("Sheet2").Cells(1, x)
Call destinationRange.PasteSpecial(xlPasteAll)
End Function