Excel 宏请求:另存为副本并中断数据连接
Posted
技术标签:
【中文标题】Excel 宏请求:另存为副本并中断数据连接【英文标题】:Excel Macro Request: Save As Copy and Break Data Connection 【发布时间】:2016-08-27 21:30:36 【问题描述】:我有一个 MASTER excel 电子表格用作模板,因此我可以使用链接到我的数据透视表的新数据表刷新 CONNECTION(.csv 文件)。
现在我有一个宏可以保存为特定路径,因为我想保持原件不变。
Sub SaveCopyPath()
With ActiveWorkbook
.SaveCopyAs "C:\Users\Me\" & Format(Date, "mmddyyyy") & "-" & [A1] & ".xlsm"
End With
End Sub
我正在寻找仅适用于我的 SAVED AS COPY 的 VBA 代码:
-
BREAK 数据表上的连接
仅删除已保存副本上的 TAB1 和 TAB2,并保持已保存副本上的数据透视表和“数据”不变。
【问题讨论】:
我看到您编辑了问题以添加源是 csv 的事实。如果您提供更多指导,我可以在下面修改我的答案。连接是否在结构化表中?还是只是在一张纸上? 数据从 CSV 中提取并添加到数据模型中,在我的“数据”表上以表格的形式查看。我能够通过使用 ActiveWorkbook.Connections ("ModelConnection").Delete 让它工作 酷!这就是我希望对你有用的东西。 【参考方案1】:这使用ListObject.Unlink
方法删除数据连接。其余的应该很简单:
Sub SaveCopyPath()
Dim SavedCopy As Excel.Workbook
ActiveWorkbook.SaveCopyAs "C:\Users\Me\" & Format(Date, "mmddyyyy") & "-" & [A1] & ".xlsm"
Workbooks.Open "C:\Users\Me\" & Format(Date, "mmddyyyy") & "-" & [A1] & ".xlsm"
Set SavedCopy = ActiveWorkbook
With SavedCopy
.Worksheets("Data").ListObjects(1).Unlink
Application.DisplayAlerts = False
.Worksheets(1).Delete
.Worksheets(1).Delete
Application.DisplayAlerts = True
.Close True
End With
End Sub
【讨论】:
以上是关于Excel 宏请求:另存为副本并中断数据连接的主要内容,如果未能解决你的问题,请参考以下文章
我想用Excel宏编写代码来对SQL数据库进行连接和操作,请教详细的步骤或方法,重分!!!!一定加分
Excel VBA 宏,用于过滤从连接的 SQL 表中提取的时间戳数据