VBA粘贴为值-如何

时间:2018-07-25 21:34:11

标签: excel vba

我有一些VBA代码,可以从一个工作表复制一个范围,然后将其粘贴到第一行空白处。它要复制的是vlookup公式,因此在粘贴时粘贴所有0,我该如何将其复制的内容粘贴为值,以便保留结果?

代码:

Private Sub PasteChartDataQtyCompare()
'This step pastes the range of values to the chart data tab
    Sheets(1).Range("A6:J22").Copy _
    Destination:=Sheets("Chart Data").Cells(Sheets("Chart Data").Rows.Count, 1).End(xlUp).Offset(1, 0)
End Sub

3 个答案:

答案 0 :(得分:3)

直接绕过剪贴板传输值。

Private Sub PasteChartDataQtyCompare()
    'This step pastes the range of values to the chart data tab
    with workSheets(1).Range("A6:J22")
        workSheets("Chart Data").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).resize(.rows.count,.columns.count) = .value
    end with
End Sub

答案 1 :(得分:1)

您要使用

.PasteSpecial xlPasteValues

此处详细回答了类似的问题:Excel VBA Copy Paste Values only( xlPasteValues )

答案 2 :(得分:1)

使用范围方法“ Range.PasteSpecial xlPasteValue”

示例:

Sheets("Sheet1").Columns("A").Copy
Sheets("Sheet2").Columns("B").PasteSpecial xlPasteValues