2015-10-01 104 views
-1

我正在從一個excel VBA項目工作,我的項目在backgroud中填充了我的工作表並保存爲xlsx,因此我可以打開並審閱。將XLSM保存爲XLSX並且有公式參考XLSX

我遇到的問題是單元格仍引用Excel Vba項目。有沒有一種方法,以工作簿保存爲XLSX並使其在細胞中引用新的工作簿(XLSX)不是(XLSM)

這是我使用,以節省

Application.DisplayAlerts = False 
Application.ScreenUpdating = False 
Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Copy 
ActiveWorkbook.SaveAs Filename:="C:\Users\asuchadu\Desktop\myFileName.xlsx" 
Workbooks("myFileName.xlsx").Close False 
Application.DisplayAlerts = True 
Application.ScreenUpdating = True 

回答

0

嘗試更新的鏈接代碼在關閉新文件之前,像這樣

Application.DisplayAlerts = False 
Application.ScreenUpdating = False 

Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Copy 
ActiveWorkbook.SaveAs Filename:="C:\Users\asuchadu\Desktop\myFileName.xlsx" 

With Workbooks("myFileName") 

    If Not IsEmpty(.LinkSources(xlExcelLinks)) Then 
     .ChangeLink "myFileName.xlsm", "myFileName.xlsx", xlExcelLinks 
    End If 

    .Close True 

End With 

Application.DisplayAlerts = True 
Application.ScreenUpdating = True 
+0

ok我意識到這個問題,當iam從項目中保存表單時,我實際上只是拿了一部分。項目內有42張紙,但只需保存7張紙。這7張紙中有一張與原始項目相關聯。所以,如果我保存所有42張(我不想),那麼牀單保存良好,鏈接不再是問題。所以我正在考慮一個工作,有沒有一種方法來設置新保存的xlsx文件爲Application.calculation = xlmanul保存時,在保存之前執行此操作,但新的工作簿仍然自動計算 – INOH

+0

好吧,這就是我所得到的,我嘗試將所有42個文件保存爲xlsx,我認爲這是工作,但實現了所有我的公式= sheet1!A2有所有#NAME的區域?現在 – INOH