我有一个宏可以将值复制并粘贴到电子表格的不同列中。在目标列上,我有一些公式,当宏粘贴值时我需要避免覆盖,因为我实际上希望公式计算新值。我已经创建了一个代码,但我真的很感谢你帮助添加条件以避免粘贴目标上有公式的地方。
Sub RawDataNew()
'
' RawDataNew Macro
' To move validated to previous week on raw data tab
'
Range("$B$17:$AQ$2572").AutoFilter Field:=6
Range("Z18:AB2572").Select
Selection.Copy
Range("AU18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H18:H2572").Select
Selection.Copy
Range("AR18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("O18:O2572").Select
Application.CutCopyMode = False
Selection.Copy
Range("AS18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("W18:W2572").Select
Selection.Copy
Range("AX18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("X18:X2572").Select
Application.CutCopyMode = False
Selection.Copy
Range("AY18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("G4").FormulaR1C1 = "=TODAY()"
Range("G4").Value = Date
Range("G5").Value = Environ("username")
'
End Sub
答案 0 :(得分:0)
您使用的粘贴方法Paste:=xlPasteAll
仅粘贴值;如果您需要公式和值,则需要Paste:=xlPasteFormulas
。
如果您只想要公式,则需要=
请参阅link了解其他可选参数
另一个建议是使用Range("A1").value = Range("B1").value
方法,即。
plugins
由于复制/粘贴方法非常慢,尤其是当您拥有与此处使用的数据一样多的数据时。此外,您将从复制的单元格中获取所有额外的格式,这对于处理