如何复制粘贴所有格式和值而不使用vb​​a中的select

时间:2015-07-21 10:39:31

标签: vba select copy format paste

如何在不使用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

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用Range.Copyhttps://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