2
我有非常大的文件銷售全球銷售數據,我需要按國家和產品過濾,然後分析。由於我需要一次又一次地用不同的國家/產品組合進行同樣的分析,因此我試圖用宏來做到這一點。Excel宏生成的文件副本保留鏈接到原始文件
這是宏觀的作用:
- 打開源文件與全局數據;
- 過濾數據;
- 將其複製並粘貼到包含宏的工作簿中;
- 重新計算和刷新工作簿;
- 將該文件的副本保存到另一個文件夾。
宏似乎運行正常和文件被保存,但是我遇到了在步驟4 2點的問題,5:
- 透視表似乎並沒有讓人耳目一新 - 這可能是因爲第二個問題:
- 在保存副本的所有數據透視表仍引用原文件
我寧願以修復產生不鏈接複製的文件這兩個問題,但我也開任何bandai ds可能會允許我強制複製的文件鏈接到自己(當我手動執行時,這似乎不起作用)。
我有完整的代碼,如果你想看到這一切,但因爲我懷疑這個問題是在我如何保存文件,我只是將這一塊粘貼在這裏。讓我知道你是否需要查看宏的另一部分。任何幫助將非常感謝,事先感謝。
保存功能:
Public Sub SaveAsCopy(filePath As String)
Dim updateStatus As Boolean
'Check current status of Alerts
updateStatus = Application.DisplayAlerts
'Turn off alerts
Application.DisplayAlerts = False
ThisWorkbook.Sheets.Copy 'creates new workbook without macros"
'The New workbook copy is now the Active workbook
'Delete Control Sheet
ActiveWorkbook.Sheets(1).Delete
'Save Macro free version and close
ActiveWorkbook.SaveAs Filename:=filePath, FileFormat:=51
ActiveWorkbook.Close
'Revert back to origional alert status
Application.DisplayAlerts = updateStatus
End Sub
函數調用:
Call SaveAsCopy(filePath)
+1好問題。正常的解決方案是用activeworkbook(即新創建的文件)替換創建回源工作簿的鏈接。 – brettdj 2012-07-11 05:18:40
感謝佈雷特 - 我有同樣的想法並嘗試過,有很多例子可以看看,但是由於某種原因無法使它工作。無論我嘗試多少種不同的方式,我都會在源數據分配上不斷收到錯誤。什麼工作沒有複製文件並以不同的名稱保存。這並不理想,因爲這些文件仍然有宏和一些不必要的數據。希望知道保存功能的人能夠更好地瞭解一些情況。 – l85m 2012-07-11 15:58:34