簡體   English   中英

VBA-將工作表從一個工作簿復制到另一個工作簿(值,而不是公式)

[英]VBA - Copying worksheet from one workbook to another (values, not formulas)

當前,我正在將工作表的值和格式復制到另一個工作簿中的工作表中,如下所示:

workbooks("book1.xlsm").sheets(1).range(someRange).copy
with workbooks("book2.xlsm").sheets(1).range("A1")
    .pasteSpecial xlPasteValues
    .pasteSpecial xlPasteFormats
end with

我想使用類似:

workbooks("book1.xlsm").sheet(1).copy after:=workbooks("book2.xlsm").sheet(1)

問題在於book1.xlsm的sheet(1)中的某些單元格具有公式。 使用第二種方法提取公式,並將結果值鏈接到book2.xlsm中的數據

如何使用第二種方法,但是要復制值而不是公式?

如果不可能,除了我目前正在使用的第一種方法外,還有哪些替代方法?

您可以在復制操作后斷開鏈接:

Option Explicit

Sub copySheetValues()

    With Workbooks("Book2")

        Workbooks("Book1").Worksheets(1).Copy After:=.Worksheets(1)

        Application.Wait Now + TimeValue("0:00:01") 'built-in replacement for "Sleep"

        .BreakLink Name:=Workbooks("Book1.xlsm").FullName, Type:=xlLinkTypeExcelLinks

    End With

End Sub

注意:兩個文件都需要在Excel應用程序的同一實例中打開

暫無
暫無

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

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