如何将粘贴值添加到粘贴目标VBA代码?

如何将粘贴值添加到粘贴目标VBA代码?,vba,excel,copy-paste,paste,Vba,Excel,Copy Paste,Paste,我想添加一行代码,只复制C列的值,不进行格式化 我的部分代码目前如下所示: If Worksheets("Sheet1").Cells(i, 4).Value = FISH Then Worksheets("Sheet1").Cells(i, 3).Copy erow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row Worksheets("Sheet1").Paste Destination:=Works

我想添加一行代码,只复制C列的值,不进行格式化

我的部分代码目前如下所示:

If Worksheets("Sheet1").Cells(i, 4).Value = FISH Then
    Worksheets("Sheet1").Cells(i, 3).Copy
    erow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
    Worksheets("Sheet1").Paste Destination:=Worksheets("Sheet2").Cells(erow + 1, 1)
我在网上找到了一个简单的PasteValues方法,该方法声明如下:

Range("A1:A3").Copy
Range("B1:B3").pastespecial xlPasteValues
然而,我真正想要的是将粘贴值添加到现有代码中


有人知道我是如何做到这一点的吗?

如果您只需要值,请跳过剪贴板,直接指定值:

If Worksheets("Sheet1").Cells(i, 4).Value = FISH Then
    erow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
    Worksheets("Sheet2").Cells(erow + 1, 1).Value = Worksheets("Sheet1").Cells(i, 3).Value
End If

如果您决定使用剪贴板,则:

If Worksheets("Sheet1").Cells(i, 4).Value = FISH Then
    Worksheets("Sheet1").Cells(i, 3).Copy
    erow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
    Worksheets("Sheet2").Cells(erow + 1, 1).PasteSpecial xlPasteValues
End If

但这会更慢,尤其是在循环中。

如果您只需要值,请跳过剪贴板并直接分配值:

If Worksheets("Sheet1").Cells(i, 4).Value = FISH Then
    erow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
    Worksheets("Sheet2").Cells(erow + 1, 1).Value = Worksheets("Sheet1").Cells(i, 3).Value
End If

如果您决定使用剪贴板,则:

If Worksheets("Sheet1").Cells(i, 4).Value = FISH Then
    Worksheets("Sheet1").Cells(i, 3).Copy
    erow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
    Worksheets("Sheet2").Cells(erow + 1, 1).PasteSpecial xlPasteValues
End If
但这会更慢,尤其是在循环中