将特定工作表另存为仅包含值的新工作簿

时间:2016-02-26 05:47:04

标签: excel vba excel-vba macros

确定。我现在已经喋喋不休地打了几个小时并在互联网上滚动了更长时间,我似乎无法弄清楚如何将工作簿中的特定工作表保存为仅具有值的新工作簿。 快速回复的故事,我有一本工作簿,其中有一页是一个报告生成器。 “标准报告”表包含引用工作簿中其他工作表中的单元格的图形和表格。我想创建一个宏来保存“标准报表”表,因为它只是当前值的自己的工作簿。

这甚至可能吗?如果有人可以帮我一把或给我一些有用的链接,我将非常感激。

1 个答案:

答案 0 :(得分:0)

我建议将工作表复制到新工作簿,断开该工作簿中的链接,然后保存。考虑下面的内容(未经测试,仅指向正确的方向)。

Sub StaticCharts()

Dim sh As Worksheet
Dim wb As Workbook
Dim cht As ChartObject
Dim scoll As Series


'Assumes the active worksheet contains the charts; change below to an absolute reference if possible
Set sh = ActiveSheet

Set wb = Workbooks.Add 'Adds a new workbook

sh.Copy Before:=wb.Sheets(1) 'Copies sheet with charts to new workbook

'Delete empty sheets in destination workbook
On Error Resume Next
wb.Sheets(4).Delete
wb.Sheets(3).Delete
wb.Sheets(2).Delete
On Error GoTo 0

'Break links in all charts
For Each cht In sht.ChartObjects
    For Each scoll In cht.Chart.SeriesCollection
        scoll.Values = scoll.Values
        scoll.XValues = scoll.XValues
        scoll.Name = scoll.Name
    Next scoll
Next cht

End Sub

有关详细信息,请参阅此(旧)文章:https://support.microsoft.com/en-us/kb/213443

其他资源: