根据列的内容将Excel文件拆分为多个工作簿

问题描述:

我没有使用VBA的经验,但是我认为这是唯一可行的方法.

I'm not experienced with VBA, but I think it's the only way for this to work.

我需要向每个销售团队发送报告,但不想向他们发送其他销售团队的信息.每个工作簿有多个带有不同报告的工作表,每个工作表都有一个销售团队列.

I need to send a report to each sales team, but don't want to send them the information of other sales team. There are multiple sheets per workbook with different reports which all have a sales team column.

我希望销售团队可以过滤所有工作表,并为每个团队创建一个新的工作簿.

I would like all the sheets to be filtered by sales team, and create a new workbook for each team.

感谢您的帮助.

我有此解决方案.
如果您需要此解决方案,请给我发送电子邮件.

I got this solution.
Just send me an email if you need this solution.

起初我得到了这种格式:

我创建以下宏代码

At first I got this format:

I create the following macro code

Option Explicit
Dim MainWorkBook As Workbook
Dim NewWorkBook As Workbook

Sub ExportWorksheet()
Dim Pointer As Long

Set MainWorkBook = ActiveWorkbook
Range("E2").Value = MainWorkBook.Sheets.Count

Application.ScreenUpdating = False   'enhance the performance
For Pointer = 2 To MainWorkBook.Sheets.Count
    Set NewWorkBook = Workbooks.Add
    MainWorkBook.Sheets(Pointer).Copy After:=NewWorkBook.Sheets(1)
    Application.DisplayAlerts = False
    NewWorkBook.Sheets(1).Delete
    Application.DisplayAlerts = True
    With NewWorkBook
        .SaveAs Filename:="C:\Users\lengkgan\Desktop\Testing\" & MainWorkBook.Sheets(Pointer).Name & ".xls" 'you may change to yours
    End With
    NewWorkBook.Close SaveChanges:=True
Next Pointer

Application.ScreenUpdating = True
Range("D5").Value = "Export Completed"

End Sub



以下是输出



Following is the output