一、用vba代码,把工作簿按工作表的名称拆分成新的工作簿,并保存在同一文件夹下。
如下图:

可以用如下代码实现效果:
Sub SplitWorkbookBySheetName()'定义变量Dim wb As WorkbookDim ws As WorksheetDim strPath As String'设置工作簿路径strPath = ThisWorkbook.Path'设置当前工作簿Set wb = ThisWorkbook'循环每个工作表For Each ws In wb.Worksheets '复制工作表 ws.Copy '保存新工作簿 ActiveWorkbook.SaveAs strPath & "\" & ws.Name & ".xlsx" '关闭新工作簿 ActiveWorkbook.CloseNext wsEnd Sub
二、用VBA代码,把文件夹里所有工作簿合并到一个工作簿里,并且把另存为的新工作簿命名为“2023年1-4月份业绩表”,每个工作簿位于不同的工作表里。
如下图:

代码如下:
Sub MergeWorkbooks()'定义变量Dim wb As WorkbookDim ws As WorksheetDim strPath As StringDim strFile As StringDim strFileName As String'设置工作簿路径strPath = ThisWorkbook.Path'循环文件夹里的每个工作簿strFile = Dir(strPath & "\*.xlsx")Do While strFile <> "" '打开工作簿 Set wb = Workbooks.Open(strPath & "\" & strFile) '循环每个工作表 For Each ws In wb.Worksheets '复制工作表 ws.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) '设置工作表名称 strFileName = Left(strFile, Len(strFile) - 5) ActiveSheet.Name = strFileName Next ws '关闭工作簿 wb.Close '获取下一个工作簿 strFile = DirLoop'保存新工作簿ThisWorkbook.SaveAs strPath & "\2023年1-4月份业绩表.xlsm"End Sub