我正在尝试创建一个将单元格内容从一个工作簿复制到另一个工作簿的宏。
问题是在原始工作簿中有指向此工作簿中的另一个工作表的链接,并且在我的宏完成工作后,链接指的是源文件的工作表。
例如,在源文件中我有=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
提前致谢
答案 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...