通过 VBA 可以将一个汇总表格按部门拆分成多个 Sheet,具体操作如下:

  1. 打开 Excel 并按下 Alt + F11 打开 VBA 编辑器。
  2. 在 VBA 编辑器中,点击菜单栏的 插入,选择 模块。
  3. 在新建的模块中,编写以下 VBA 代码:
Sub SplitByDepartment()
    Dim ws As Worksheet
    Dim newWs As Worksheet
    Dim lastRow As Long
    Dim department As String
    Dim i As Long
    
    ' 设置汇总表格所在的 Sheet
    Set ws = ThisWorkbook.Sheets('汇总表')
    
    ' 获取汇总表格的最后一行
    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    
    ' 遍历汇总表格的每一行
    For i = 2 To lastRow
        ' 获取当前行的部门
        department = ws.Cells(i, 2).Value
        
        ' 检查是否已存在该部门的 Sheet,如果不存在则创建新的 Sheet
        On Error Resume Next
        Set newWs = ThisWorkbook.Sheets(department)
        On Error GoTo 0
        If newWs Is Nothing Then
            Set newWs = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
            newWs.Name = department
        End If
        
        ' 将当前行的数据复制到对应的部门 Sheet 中
        ws.Rows(i).Copy Destination:=newWs.Cells(newWs.Cells(newWs.Rows.Count, 1).End(xlUp).Row + 1, 1)
    Next i
End Sub
  1. 修改代码中的 '汇总表' 为你的汇总表格所在的 Sheet 名称。
  2. 按下 F5 运行代码。

运行代码后,VBA 会遍历汇总表格的每一行,根据部门名称创建对应的 Sheet,并将该部门的数据复制到对应的 Sheet 中。最终,你的 Excel 文件中会生成多个 Sheet,每个 Sheet 对应一个部门的数据。


原文地址: http://www.cveoy.top/t/topic/qzGM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录