我需要您在VBA代码上的帮助,使用范围方法将粘贴复制到每个新的工作表,格式和公式。 以下是我所拥有的两种变体。一个复制和粘贴格式,但粘贴为值,另一个保留公式但不保留格式。 非常感谢您的帮助。
这会保留格式,但会粘贴为值
rngHeader.Copy Destination:=.Range("A4")
res.Copy Destination:=.Range("A5")
这会保留公式,但会丢失格式
.Range("A4").Resize(, rngHeader.Columns.Count).Formula = rngHeader.Formula
.Range("A5").Resize(res.Rows.Count, res.Columns.Count).Formula = res.Formula
答案 0 :(得分:0)
如果要全部粘贴,请尝试:
res.Copy
.Range("A4").PasteSpecial xlPasteAll '~~> paste to destination
编辑:1 根据评论,如果它是一个非连续的单元格,那么您将不得不循环或使用暴力。
蛮力
With Sheet1 '~~> change to your actual sheet
res.Copy
.Range("A4").Select '~~> you have to select the destination
.Paste '~~> use Sheet.Paste method
End With
循环
Dim c As Range, i As Long: i = 0
With Sheet1
For Each c In res
c.Copy
.Range("A4").Offset(i).PasteSpecial xlPasteAll
i = i + 1
Next
End With