修改副本脚本以保留格式

我有一个完美的复制脚本,除了运行时丢失格式。 我失去了水平和垂直居中的文本,单元格背景色(对于条件),我的所有边框以及任何文本效果(粗体/下划线/斜体)。 为了添加统一的边界,我使用

Range("CSResults").Borders.LineStyle = xlContinuous 

虽然这起作用,但不是所有的边框都是相同的厚度,并且单元格的背景色根据单元格的内容而变化。

我需要修改我当前的脚本来保持格式。

复制脚本

 Dim SectionCS As Long, NextRow As Long, TotalRows As Long Sheets("CS Results").Activate Range("CSResults").Select Selection.AutoFilter Range("CSResults").Clear For SectionCS = 1 To 13 '36 NextRow = Sheets("CS Results").Range("A" & Rows.Count).End(xlUp).Row + 1 'Next empty row Sheets("Function Test Procedure - CS").Activate TotalRows = Range("CSSec" & SectionCS).Rows.Count Sheets("CS Results").Range("A" & NextRow).Resize(TotalRows, 14).Value = _ Range("CSSec" & SectionCS).Columns("A:N").Value Next SectionCS 

你在技术上不是复制/粘贴,而是设定值相等。 要粘贴数据和格式,请使用pasteSpecial

 Range("CSSec" & SectionCS).Columns("A:N").Copy With Sheets("CS Results").Range("A" & NextRow).Resize(TotalRows, 14) .PasteSpecial xlPasteFormats .PasteSpecial xlPasteValues End With Application.CutCopyMode = False 

这应该工作,只需仔细检查复制范围是否准确。