如何复制粘贴所有格式而不使用select vba

问题描述:

如何在不使用select的情况下复制范围。我需要一切,不仅仅是价值观。 当前庞大代码:如何复制粘贴所有格式而不使用select vba

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

答案能解决您的问题吗? –

+0

是的,非常感谢很多家伙!非常感谢:-) – Nikhen

+0

太棒了!那么你应该接受其中一个答案! :0) –

您可以使用Range.Copyhttps://msdn.microsoft.com/en-us/library/office/ff837760.aspx)来复制一个范围,而不引起的选择,例如...

Range("A1").Copy Range("A2") 

将复制的一切,包括值和格式从A1A2

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