使用复制目的地和select性粘贴来保持格式

这是我需要的代码行,在复制单元格时,请保留目标工作簿中的格式。 我不知道如何将“PasteSpecial Paste:= xlPasteValues”合并到其中。

wbkOut.Worksheets(1).Range("E44:E2000").Copy Destination:=wbkVer.Worksheets("Metabuild").Range("A" & wbkVer.Worksheets("Metabuild").Range("A65536").End(xlUp).Row + 1) 

本是对的。 既然他没有告诉你如何,我会的。

 wbkOut.Worksheets(1).Range("E44:E2000").Copy With wbkVer.Worksheets("Metabuild") .Range("A" & .Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues End With 

另一件你可能想要添加的东西是一个检查,以确保你的工作表底部有足够的行来处理复制范围的行数,如果你可能需要的话。 如果没有足够的行,代码会抛出一个错误。

要做到这一点,代码将如下所示:

 Option Explicit Dim rngCopy as Range, lngCopy as Long Set rngCopy = wkbOut.Worksheets(1).Range("E44:E2000") lngCopy = rngCopy.Rows rngCopy.Copy With wbkVer.Worksheets("Metabuild") Dim rngCheck as Range Set rngCheck = .Range(.Range("A" & .Rows.Count).End(xlup).Offset(1),.Range("A" & .Rows.Count) If rngCheck.Rows >= lngCopy Then .Range("A" & .Rows.Count).End(xluP).Offset(1).PasteSpecial xlPasteValues Else Msgbox "Not enough space!" End If End With