id_h nhunts
1 3
2 2
在宏中,我做了很多粘贴值,我只是想知道是否有一种更有效的方式来编写上述代码。
答案 0 :(得分:2)
我认为您尝试做的最快方法是:
Sub Test()
Dim LR As Long
With ThisWorkbook.Sheets("Sheet1")
LR = .Range("D" & Rows.Count).End(xlUp).Row
.Range("F4:F" & LR).Value = .Evaluate("D4:D" & LR & "*-1")
End With
End Sub
供以后参考,需要.PasteSpecial
时进行复制/粘贴需要excel将数据存储在Clipboard
中,这意味着需要更多时间来运行宏。指定Destination
参数时,仅复制/粘贴一个范围将绕过此范围。省略此设置将再次将范围存储在Clipboard
上。
通常,您通常可以避免使用复制/粘贴!
答案 1 :(得分:0)
如@BigBen所建议,但是使用了With/End With
语句...
Sub test()
Dim LR As Long
LR = Range("D" & Rows.Count).End(xlUp).Row
With Range("F4:F" & LR)
.Formula = "=D4*-1"
.Value = .Value
End With
End Sub