按住alt依次按f11,i,m 粘贴下面代码后按f5 即可得到转换后的格式. Sub 转换格式() Sheets.Add Sheets(1) n = 2 With Sheets("考勤卡式报表") For r = 5 To .Range("a65536").End(xlUp).Row Step 6 yg = Split(.Cells(r, 2).Value, " ") Cells(n, 1).Resize(31) = yg(1) Cells(n, 2).Resize(31) = yg(4) Cells(n, 3).Resize(31) = yg(9) d = 0 For h = 2 To 4 Step 2 For l = 2 To 17 k = Split(.Cells(r + h, l).Value, " ") Cells(n + d, 4) = d + 1 For i = 0 To UBound(k) Cells(n + d, i + 5) = k(i) Next d = d + 1 Next Next n = n + 31 Next End With End Sub