复制并粘贴失败vba

我试图复制一个范围,并将其粘贴为值使用VBA,但它似乎通过代码步骤,但没有做任何事情,因为我运行后仍然有公式。

R和S列是唯一有公式的地方,我尝试了F8 ,它只是步入了一切而已。 也许我把错误的代码粘贴为值,但​​在这里他们是。 所有的列都有相同的行数。 所以没有错误只是没有复制和粘贴为值。

如果有人可以推荐一个更有效的方式来复制和粘贴一个范围只值,请分享。

Sub test() Dim ws2 As Worksheet Dim LR3 As Long Set ws2 = Worksheets("BRST") LR3 = ws2.Cells(ws2.Rows.Count, "R").End(xlUp).Row ws2.Range("R3", "S" & LR3).Copy ws2.Range("R3", "S" & LR3).PasteSpecial xlPasteValues End Sub 

你应该避免在VBA中使用CopyPaste ,因为如果你只是简单地将从R3运行的单元格中的公式replace为S列中的最后一行,那么使用VBA中的CopyPaste就比使用单元格本身慢很多。

 Sub test() Dim ws2 As Worksheet Dim LR3 As Long Set ws2 = Worksheets("BRST") LR3 = ws2.Cells(ws2.Rows.Count, "R").End(xlUp).Row ws2.Range("R3", "S" & LR3).Value = ws2.Range("R3", "S" & LR3).Value End Sub 

如果你只是想将范围转换为值:

 With ws2.Range("R3", "S" & LR3) .Value = .Value End With