修改副本脚本以保留格式
我有一个完美的复制脚本,除了运行时丢失格式。 我失去了水平和垂直居中的文本,单元格背景色(对于条件),我的所有边框以及任何文本效果(粗体/下划线/斜体)。 为了添加统一的边界,我使用
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
这应该工作,只需仔细检查复制范围是否准确。