1

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

1 回答 1

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
于 2012-12-27T18:56:43.673 回答