Excel 不使用宏将电子表格复制到新文件

Excel 不使用宏将电子表格复制到新文件,excel,vba,Excel,Vba,我写这段代码是为了将我的一些电子表格复制到一个新文件中,但是原始文件中的所有宏都作为指向原始文件的链接转到新文件中。我想复制电子表格,并在新文件中删除宏。请在下面找到我的代码,我如何更改它 Sub IndRepPD() Dim NewName As String Dim nm As Name Dim ws As Worksheet If MsgBox("Are you sure you want to generate an Indidual Report fo

我写这段代码是为了将我的一些电子表格复制到一个新文件中,但是原始文件中的所有宏都作为指向原始文件的链接转到新文件中。我想复制电子表格,并在新文件中删除宏。请在下面找到我的代码,我如何更改它

Sub IndRepPD()
    Dim NewName As String
    Dim nm As Name
    Dim ws As Worksheet

    If MsgBox("Are you sure you want to generate an Indidual Report for PD?" & vbCr & _
    "The file will be saved as PD_VA2013_KPI in the same directory as the original." _
    , vbYesNo, "Generate Individual Report for PD") = vbNo Then Exit Sub

    With Application
        .ScreenUpdating = False

         On Error GoTo ErrCatcher
        Sheets(Array("Inhalt", "PD", "PD Quality", "Glossary", "Status", "PD History")).Copy
        On Error GoTo 0

            For Each ws In ActiveWorkbook.Worksheets
            ws.Cells.Copy
            ws.[A1].PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
            Application.CutCopyMode = False
            Cells(1, 1).Select
            ws.Activate
        Next ws
        Cells(1, 1).Select

            For Each nm In ActiveWorkbook.Names
            nm.Delete
        Next nm
        ActiveWindow.DisplayWorkbookTabs = False
        Worksheets("PD").Select
            NewName = "PD_VA2013_KPI"
        ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & NewName & ".xls"
        ActiveWorkbook.Close SaveChanges:=False

        .ScreenUpdating = True
    End With
    Exit Sub

ErrCatcher:
    MsgBox "Specified sheets do not exist within this workbook"
End Sub

.xlsx不存储宏,但如果使用电子表格中的按钮运行宏,则指向原始文件宏的链接仍然存在。

您使用的是哪个Excel版本?如果使用>=xl2007,则只需将文件另存为
.xlsx
:)如果是XL 2007之前的版本,宏是否在工作表的代码模块中?如果是,则您必须复制工作表的内容,以便在不使用代码的情况下获取数据,或者使用以编程方式在copy@SiddharthRout我正在使用2010.Perfect:)查看我的第一条注释不可能:)一个
.xlsx
文件无法存储宏。我可以看看密码吗?没错!我有宏的按钮,超链接在原始文档中运行宏,而不是在新文档中运行宏。所以删除超链接或按钮。。。或者,修改按钮以在当前工作簿中执行代码。我尝试了ws.Cells.Hyperlinks.Delete,但没有任何更改。我的代码生成25个不同的文件,我不想手动修改或删除它们。