Excel Vba复制并粘贴

将数据从一个Excel工作表复制到另一个工作簿时,我必须粘贴具有相同格式的数据,因为每个单元都具有内部颜色。 我也将删除从我复制的原始工作表中的数据。 是否可以保持源格式?

Workbooks.Add Set Outbook1 = ActiveWorkbook OutBook.Activate OutBook.Sheets("Sheet6").Select Lines = ActiveSheet.Range("A65536").End(xlUp).Row Range("A1:N" & Lines).Select Selection.Copy Outbook1.Activate Outbook1.Sheets("Sheet1").Range("A1").PasteSpecial (xlPasteAll) 

您可以使用PasteSpecial xlPasteAll命令来保持源格式(只要不是条件格式)。

build议 :如果您停用“ Activate ,“ Select和“ Selection ,则使用参考的“ Workbook和“ Sheets会更好。

(有关更多详细信息,请参阅如何避免在Excel VBAmacros中使用select )

 Option Explicit Sub CopyBetweenSheets() Dim Outbook1 As Workbook Dim OutBook As Workbook Dim Lines As Long Set OutBook = ThisWorkbook Set Outbook1 = Workbooks.Add With OutBook With .Sheets("Sheet6") ' find last row in Column A in "Sheet6" Lines = .Cells(.Rows.Count, "A").End(xlUp).Row .Range("A1:N" & Lines).Copy End With End With ' paste to "A1" in "Sheet1" in the new workbook Outbook1.Sheets("Sheet1").Range("A1").PasteSpecial xlPasteAll End Sub