复制/粘贴范围作为VBA中的值,而不是整个工作表

时间:2018-11-09 15:17:01

标签: excel vba ms-access access-vba

现在我正在这样做:

xlwb.Sheets(curSheet).Cells.Copy
xlwb.Sheets(curSheet).Cells.PasteSpecial (xlValues)

这使我可以将整个工作表原位复制/粘贴为值。

但是,从技术上讲,我只希望对第1行和底部附近的某些行之间的所有列执行此操作,将其称为finalRow。之后,我想谈谈一些内容。

如何将值从1复制/粘贴到finalRow?从技术上讲,我是从Access VBA运行此代码,但此代码是用于Excel的。

2 个答案:

答案 0 :(得分:1)

您可以使用以下语法

xlwb.Worksheets(curSheet).Rows(1 & ":" & lastRow).Copy
xlwb.Worksheets(curSheet).Range("A1").PasteSpecial xlValues
Application.CutCopyMode = False

根据需要更改粘贴范围。

答案 1 :(得分:1)

仅复制值时跳过剪贴板:

With xlwb.Sheets(curSheet).Rows("1:" & lastrow)
    .Value = .Value
End With