所以我构建了这个宏工作簿,为我创建了一个格式化的月度报告。
它的工作原理是宏根据我定义的一些条件构建报表,然后它从工作表"幻灯片"中复制数据部分,并将其作为值粘贴到下一个工作表"可交付成果",使用以下代码:
Application.Goto (ActiveWorkbook.Sheets("Slide").Range("A1"))
Range("C2", Cells(TableRows, 30)).Select
Selection.Copy
ActiveSheet.Next.Select
ActiveSheet.Paste
然后它格式化并排序"可交付成果"上的所有内容,并使用以下方法将其复制到新工作簿:
Sheets("Deliverable").Select
Sheets("Deliverable").Copy
唯一的问题是,当您打开仅包含"可交付结果"副本的新工作簿时,它仍会链接回原始宏工作簿,并且您会收到安全警告。我可以不那么关心这个,因为我知道它来自我,但报告在我的组织外部共享,我宁愿避免给我的客户带来问题和/或麻烦。
新工作簿未启用宏,并且如上所述,不包含任何公式,更不用说引用原始工作簿的公式了。
我该怎么做才能解决这个问题?
好的,链接是由复制的工作表附带的工作簿中的命名范围引起的。没有公式,只有命名范围。
我在工作表副本之后添加了它,它处理了它。
Dim nm As Name
On Error Resume Next
For Each nm In ActiveWorkbook.Names
nm.Delete
Next
On Error Goto 0