这是我需要的代码行,在复制单元格时,将格式保留在目标工作簿中。我不确定如何将“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)
答案 0 :(得分:7)
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