这个我能想到最简单的办法是,在一个新工作表中设计一个输出表,再用VBA引用数据到这个表,并且复制保存这个工作表为一个新的工作簿。
PS:这是我见过是奇怪的工资表,居然是不规则的,不过没关系,每两行复制一次即可。
追问能否提供VBA代码
追答Public Sub 分拆工资表()
Dim Sh As Worksheet, FxSh As Worksheet, CXrng As Range, Wb As Workbook
Set FxSh = ActiveSheet
Set Sh = Sheets.Add
FxSh.Range("1:1").Copy Destination:=Sh.Range("a1")
For Each CXrng In FxSh.Range("b2:b" & FxSh.Range("b10000").End(xlUp).Row)
If CXrng.Text Like "*姓名*" Then
FxSh.Range(CXrng.Row & ":" & CXrng.Offset(1, 0).Row).Copy Destination:=Sh.Range("a2")
Sh.Copy
Set Wb = ActiveWorkbook
Wb.SaveAs Filename:=ThisWorkbook.Path & "\" & CXrng.Offset(1, 0).Text & ".xlsx"
Wb.Close
Set Wb = Nothing
End If
Next
End Sub本回答被提问者采纳