用一个老前辈的话,你想实现这个表格效果,完全可以通过数据透视表。合并单元格是一件吃力不讨好的苦力活,一时解决了问题将来二次处理数据还是会痛不欲生。
但如果题主执意要用合并单元格,能告诉我后面有几列要做合并吗?感谢。
直接修改在这里方便查看吧。
在工作表按Alt+F11,跳出如图VBA窗口,在对应的工作表名称处双击,在右侧空白处粘贴以下代码:
Sub mMerge()
Application.DisplayAlerts = False
For Each Rng In Range("J2:J" & ActiveSheet.UsedRange.Rows.Count)
With Rng
If .MergeCells = True And .Row = .MergeArea.Row Then
For mRow = .MergeArea.Row To .MergeArea.Row + .MergeArea.Rows.Count - 1
mValue1 = mValue1 & Cells(mRow, 11) & Chr(10)
mValue2 = mValue2 & Cells(mRow, 12) & Chr(10)
Next
Range("K" & .MergeArea.Row & ":K" & .MergeArea.Row + .MergeArea.Rows.Count - 1).Merge
Range("K" & .MergeArea.Row).WrapText = True
Range("K" & .MergeArea.Row) = Left(mValue1, Len(mValue1) - 1)
mValue1 = Empty
Range("L" & .MergeArea.Row & ":L" & .MergeArea.Row + .MergeArea.Rows.Count - 1).Merge
Range("L" & .MergeArea.Row).WrapText = True
Range("L" & .MergeArea.Row) = Left(mValue2, Len(mValue2) - 1)
mValue2 = Empty
End If
End With
Next
Application.DisplayAlerts = True
End Sub
效果如图
我试试看用代码,但要稍等一下,水平有限哈哈
代码你照着图片里面的换行吧,比较不会出语法错误,网页排版效果不好
保存后,视图里面运行宏mMerge即可
只是打印效果的话,最简单的还是把中间的单元格线条设置成无即可
若非要想合并单元格操作,只好复制去记事本,操作后再复制过来,真的是折腾啊!