Excel VBA如何将单元格内容从一本书复制到另一本书

时间:2015-11-19 09:40:48

标签: excel vba excel-vba

我正在尝试创建一个将单元格内容从一个工作簿复制到另一个工作簿的宏。 问题是在原始工作簿中有指向此工作簿中的另一个工作表的链接,并且在我的宏完成工作后,链接指的是源文件的工作表。 例如,在源文件中我有=CONCATENATE(A1,Sheet2!A1),复制后的单元格内容变为=CONCATENATE(A1,[Source.xlsm]Sheet2!A1) 请避免出现此[Source.xlsm]

Sub Copy()

    Dim wbk As Workbook

    Range("A1:B1").Copy

    Set wbk = Application.Workbooks.Open(ThisWorkbook.Path & "/subdir/destination.xlsx")
    With wbk.Sheets("Sheet1")
    Range("A1").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    End With
End Sub

提前致谢

1 个答案:

答案 0 :(得分:0)

使用Range.Replace method从公式中删除 [Source.xlsm]

With wbk.Sheets("Sheet1")
    .Range("A1").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    .Cells.Replace What:="[Source.xlsm]", Replacement:="", LookAt:=xlPart, _
                   MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End With

顺便说一句,您错过了.

中的.Range("A1").PasteSpecial...