Как добавить PasteValues ​​в код VBA PasteDestination? - PullRequest
0 голосов
/ 17 мая 2018

Я хочу добавить строку кода, чтобы скопировать только значения столбца 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

Однако я действительно хочу добавить PasteValues ​​в мой существующий код.

Кто-нибудь знает, как мне этого добиться?

1 Ответ

0 голосов
/ 17 мая 2018

Если вам нужны только значения, пропустите буфер обмена и присвойте значения непосредственно:

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

Но это будет медленнее, особенно в цикле.

...