簡體   English   中英

在 VBA 中復制/粘貼一個范圍作為值,而不是整個工作表

[英]Copy/paste a range as values in VBA, instead of the entire sheet

現在我正在這樣做:

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

這讓我可以將整個工作表就地復制/粘貼為值。

但是,從技術上講,我只想對第 1 行和靠近底部的某行之間的所有列執行此操作,將其finalRow 之后還有一些內容我想留作公式。

如何將行從 1 復制/粘貼到finalRow作為值? 我在技術上從 Access VBA 運行此代碼,但此代碼適用於 Excel。

您可以使用以下語法

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

根據需要更改粘貼范圍。

僅復制值時跳過剪貼板:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM