Excel 学习记录根据总表的每一行生成新的excel文件,生成个人工资条场景使用

原始数据如下
Excel 学习记录根据总表的每一行生成新的excel文件,生成个人工资条场景使用_第1张图片

Excel 学习记录根据总表的每一行生成新的excel文件,生成个人工资条场景使用_第2张图片
Excel 学习记录根据总表的每一行生成新的excel文件,生成个人工资条场景使用_第3张图片

Public Sub 生成文件()
'
'类似工资条单独生成多了表vba,表名根据文件中数据生成
'
    Application.ScreenUpdating = False
    Dim arr, wb As Workbook, i As Long, mFullpath$, FolderPath$
    arr = Sheet1.UsedRange.Value
    FolderPath = ThisWorkbook.Path & "\"
    For i = 2 To UBound(arr)   ' 数据行,第3行开始,如果不是,这里修改****
        If arr(i, 2) <> "" Then
            Set wb = Application.Workbooks.Add
            With wb
                With .Sheets(1)
                    Application.ActiveWorkbook.Sheets(1).Name = arr(i, 3) '重命名sheet名
                    For j = 1 To UBound(arr, 2)
                        .Cells(1, j) = arr(1, j)         ' 取表头
                        .Cells(2, j).Value = arr(i, j)  ' 取内容
                    Next
                End With    '
                mFullpath = FolderPath & arr(i, 3) & ".xlsx"
                .SaveAs Filename:=mFullpath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
                .Close
            End With
        End If
    Next
    Set wb = Nothing
    Application.ScreenUpdating = True
End Sub

复制代码,根据对应表格的格式修改行列关系后

点击执行即可,建议测试生成效果,调试下 F8 步进测试下
Excel 学习记录根据总表的每一行生成新的excel文件,生成个人工资条场景使用_第4张图片

你可能感兴趣的:(excel,vba,excel,vba)