使用粘贴特殊值

感谢另一个用户,我已经能够粘贴来抵消范围使用目的地,现在我试图改变,以便粘贴为值,以便我的格式和公式不携带。 由于公式复制,粘贴当前正在导致#REF错误。

Option Explicit Sub CopyPasteOffset() Dim OffsetRange As Long OffsetRange = Cells(78,1).Value Range("B65:F65").Copy _ Destination:=Sheets("stats FY2017").Cells(2+OffsetRange,2).PasteSpecial xlPasteSpecial End Sub 

给我一个“结束语句错误”

尝试这个…

 Sub CopyPasteOffset() Dim OffsetRange As Long OffsetRange = Cells(78, 1).Value Range("B65:F65").Copy Sheets("stats FY2017").Cells(2 + OffsetRange, 2).PasteSpecial xlPasteValues End Sub 

这里是PasteSpecial xlValues的一些变化。 有些包括格式,但都采取原来的任何公式的值。

 Sub CopyPasteOffset() Dim offsetRange As Long With Worksheets(1) offsetRange = .Cells(1, 1).Value 'raw value transfer - slightly faster but dates become integers, time becomes doubles 'and currency loses regional information With .Range("B1:F1") Worksheets(2).Cells(1 + offsetRange, 1).Resize(.Rows.Count, .Columns.Count) = .Value2 End With 'value transfer - dates, times and currency are retained With .Range("B1:F1") Worksheets(2).Cells(1 + offsetRange, 1).Resize(.Rows.Count, .Columns.Count) = .Value End With 'add a blank cell and paste the union - provides Value and Formatting transfer (strips formulas) '(assumes that Z1 is a blank cell that will not interfere with anything when pasted) .Range("B1:F1, Z1").Copy _ Destination:=Worksheets(2).Cells(1 + offsetRange, 1) 'PasteSpecial Values, optionally paste formats .Range("B1:F1").Copy With Worksheets(2).Cells(1 + offsetRange, 1) .PasteSpecial xlValues .PasteSpecial xlFormats End With End With End Sub