首页 > 解决方案 > 如何在不更改参考文献的情况下将 Excel 工作表复制并粘贴到新书中?

问题描述

我正在尝试将工作表从一个 Excel 工作簿复制并粘贴到另一个工作簿。工作表集成到该工作表的本地模型中。因此,我需要复制工作表中的单元格引用在绝对意义上保持不变。

例如,一个"='Sheet1'C1"必须保留的单元格,"='Sheet1'C1"而不是"='[OriginalWorkbook]Sheet1'C1"

现在我在使用时得到了意想不到的后果,

Sub TransferSheet(wka As Workbook, wkb As Workbook, WorksheetName As String)
    Dim ws1 As Worksheet
    wka.Activate
    Set ws1 = wka.Worksheets(WorksheetName)
    wkb.Activate
    ws1.Copy after:=wkb.Worksheets(Worksheets.Count)
End Sub

标签: excelvba

解决方案


我认为这应该有效:

Sub TransferSheet(wka As Workbook, wkb As Workbook, WorksheetName As String)
    Dim ws1 As Worksheet
    wka.Activate
    Set ws1 = wka.Worksheets(WorksheetName)
    wkb.Activate
    ws1.Copy after:=wkb.Worksheets(Worksheets.Count)
    wkb.ChangeLink "wka.xls", "wkb.xls", xlExcelLinks
End Sub

编辑:此解决方案可用于更改宏按钮上的链接。


推荐阅读