Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过单击按钮将工作簿中的选项卡导出到单个excel工作簿_Excel_Vba - Fatal编程技术网

如何通过单击按钮将工作簿中的选项卡导出到单个excel工作簿

如何通过单击按钮将工作簿中的选项卡导出到单个excel工作簿,excel,vba,Excel,Vba,我需要创建一个按钮,它将自动将工作簿中的每个选项卡导出到单个Excel工作簿 Sub ExportToXLSX() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets ws.Copy ActiveWorkbook.SaveAs Filename:="C:\Users\username\Desktop\Box 2 Files\" & ws.Name & ".xlsx"

我需要创建一个按钮,它将自动将工作簿中的每个选项卡导出到单个Excel工作簿

Sub ExportToXLSX()
    Dim ws As Worksheet

    For Each ws In ThisWorkbook.Worksheets
        ws.Copy
        ActiveWorkbook.SaveAs Filename:="C:\Users\username\Desktop\Box 2 Files\" & ws.Name & ".xlsx", _
                              FileFormat:=xlOpenXMLWorkbook
    Next  
End Sub
这是我目前正在使用的代码;我需要改变什么

Sub ExportToXLSX()

Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
ws.Copy
nm = ws.Name
ws.SaveAs ("C:\Users\username\Desktop\Box 2 Files\" & nm & ".xlsx")

Next ws

End Sub

编辑:除了导出到各个工作簿之外,我还需要将这些单独的选项卡保存到指定的文件目标

这里有一种使用
工作表的方法。复制
以创建新工作簿

Sub ExportToXLSX()
    Dim ws As Worksheet

    For Each ws In ThisWorkbook.Worksheets
        ws.Copy
        ActiveWorkbook.SaveAs Filename:="C:\Users\username\Desktop\Box 2 Files\" & ws.Name & ".xlsx", _
                              FileFormat:=xlOpenXMLWorkbook
    Next  
End Sub

这里有一种使用
工作表的方法。复制
创建新工作簿

Sub ExportToXLSX()
    Dim ws As Worksheet

    For Each ws In ThisWorkbook.Worksheets
        ws.Copy
        ActiveWorkbook.SaveAs Filename:="C:\Users\username\Desktop\Box 2 Files\" & ws.Name & ".xlsx", _
                              FileFormat:=xlOpenXMLWorkbook
    Next  
End Sub

首先使用
ws.Copy
。这是否回答了您的问题?谢谢你们,你们的建议都很有帮助@BigBen使用ws.Copy做了我需要它做的事情,为每个选项卡创建一个新的工作簿,这很好!我忘记在我的原始帖子中添加的一个步骤是,我还需要它自动将它们保存到上面列出的文件目标中。@BigBen上面的代码,我试图将每个文件导出为Excel工作簿并保存到指定的文件位置。不要导出,
SaveAs
。首先使用
ws.Copy
。这是否回答了您的问题?谢谢你们,你们的建议都很有帮助@BigBen使用ws.Copy做了我需要它做的事情,为每个选项卡创建一个新的工作簿,这很好!我忘记在我的原始帖子中添加的一个步骤是,我还需要它自动将它们保存到上面列出的文件目标中。@BigBen上面的代码,我正试图将每个文件导出为Excel工作簿并保存到指定的文件位置。不要导出,
SaveAs
。谢谢!它成功地为每个选项卡创建了一个新工作簿。但是,我现在遇到的唯一问题是,它包含它创建的每个文件中的所有选项卡,而不仅仅是指定的选项卡(如果有意义的话)。Uggh。我担心这会发生。我以前在
工作表.SaveAs中遇到过问题。请看编辑。这正是我需要它做的,非常感谢!你帮了大忙:)谢谢你!它成功地为每个选项卡创建了一个新工作簿。但是,我现在遇到的唯一问题是,它包含它创建的每个文件中的所有选项卡,而不仅仅是指定的选项卡(如果有意义的话)。Uggh。我担心这会发生。我以前在
工作表.SaveAs中遇到过问题。请看编辑。这正是我需要它做的,非常感谢!你帮了大忙:)