簡體   English   中英

從一個工作簿到另一個工作簿的VBA復制表(僅值和格式)

[英]VBA copy sheet from one workbook to another (values and format only)

我有以下代碼將一張紙從一個wb復制並粘貼到另一個:

 wb1.Worksheets("ws").Copy After:=wb2.Sheets(wb1.Sheets.Count)

我正在嘗試僅粘貼值和格式,我將如何去做呢?

同樣,該過程花費了更長的預期時間,這可能是因為我要從中復制的工作表包含具有大量數據的數據透視表。 無論如何,我可以加快速度嗎?

謝謝您的幫助!

在效率方面。 復制和粘貼比將Rng2.Value設置為Rng1.Value然后使用.NumberFormat等使Rng2像Rng1慢。 您必須先制作Worksheets.Add 。首先添加。

Rng2.Value = Rng1.Value
Rng2.NumberFormat = Rng1.NumberFormat

您還想要字體等嗎?

如果您想執行復制和粘貼操作,則可以粘貼特殊值,然后粘貼特殊格式,但這會比較慢。

如果您只是想要這些值,則可以通過將兩個范圍設置為彼此相等來完全跳過復制/粘貼(並因此使用剪貼板):

=Range([copy TO range]).Value = Range([copy FROM range]).Value

但是您要同時添加工作表,因此添加一行以創建空白工作表,然后執行

wb2.sheets([worksheet name]).Value = wb1.worksheets("ws").value

暫無
暫無

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

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