场景使用"/>
Excel 学习记录根据总表的每一行生成新的excel文件,生成个人工资条场景使用
原始数据如下
Public Sub 生成文件()
'
'类似工资条单独生成多了表vba,表名根据文件中数据生成
'Application.ScreenUpdating = FalseDim arr, wb As Workbook, i As Long, mFullpath$, FolderPath$arr = Sheet1.UsedRange.ValueFolderPath = ThisWorkbook.Path & "\"For i = 2 To UBound(arr) ' 数据行,第3行开始,如果不是,这里修改****If arr(i, 2) <> "" ThenSet wb = Application.Workbooks.AddWith wbWith .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) ' 取内容NextEnd With 'mFullpath = FolderPath & arr(i, 3) & ".xlsx".SaveAs Filename:=mFullpath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False.CloseEnd WithEnd IfNextSet wb = NothingApplication.ScreenUpdating = True
End Sub
复制代码,根据对应表格的格式修改行列关系后
点击执行即可,建议测试生成效果,调试下 F8 步进测试下
更多推荐
Excel 学习记录根据总表的每一行生成新的excel文件,生成个人工资条场景使用
发布评论