VBA-复制没有链接的Excel表值

时间:2018-09-12 10:49:55

标签: excel vba excel-vba

我正在研究一个宏,它的功能之一是从列表中打开源工作簿,并将每个Excel工作表(ListObject)中包含的信息复制到单个目标工作簿中。

源表中包含链接和公式,这很麻烦,因为这样复制时它们会中断:

source.Sheets("Sheet1").ListObjects("Table1").Range.Copy _
            Destination:=target.Sheets("Sheet1").Range("A1")

我可以在复制表之前先取消链接表,然后关闭它,但我希望有一种更干净的解决方案来移动此数据:

Dim source As Workbook
Dim target As Workbook

    source.Sheets("Sheet1").ListObjects("Table1").Unlink
    source.Sheets("Sheet1").ListObjects("Table1").Range.Copy _
            Destination:=target.Sheets("Sheet1").Range("A1")
    source.Close savechanges:=False

或者,

source.Sheets("Sheet1").ListObjects("Table1").Range.Copy
target.Sheets("Sheet1").Range("A1").PasteSpecial xlPasteValues

复制值,但丢失表对象。

在没有链接的情况下,是否可以将这些数据作为表格移动?如果可能的话,我希望避免选择或激活任何内容,因为这将在许多源文件上进行迭代。我也对替代方法(在数组中提到一个注释)持开放态度。

0 个答案:

没有答案