EXCEL分行合并单元格并保存内容的宏,实际使用的时候行数很多,希望一键能够搞定的 如图
2个回答
展开全部
楼主立意不大明确!
“分行合并单元格并保存内容”中,这个保存的内容是保存到合并后的单元格内还是另外的单元格(如楼主图示中的E列)?
但猜想楼主的意思应该是把合并后的内容保存到合并的单元格内。故可以用下面的代码试试:
Sub 合并保留()
hs = Cells(Rows.Count, 1).End(xlUp).Row '计算第1列数据行数
ls = Cells(1, Columns.Count).End(xlToLeft).Column '计算第1行数据列数
For i = 1 To hs
hc = ""
For j = 1 To ls
hc = hc & Cells(i, j) '数据合并
Next j
Application.DisplayAlerts = False '不显示警告信息框
Cells(i, 1) = hc '在行第1个单元格写入合并后的数据
Range(Cells(i, 1).Address & ":" & Cells(i, ls).Address).Merge '合并单元格
Range(Cells(i, 1).Address & ":" & Cells(i, ls).Address).HorizontalAlignment = xlCenter '水平居中
Range(Cells(i, 1).Address & ":" & Cells(i, ls).Address).VerticalAlignment = xlCenter '垂直居中
Next i
End Sub
03版本测试通过,仅供参考!
“分行合并单元格并保存内容”中,这个保存的内容是保存到合并后的单元格内还是另外的单元格(如楼主图示中的E列)?
但猜想楼主的意思应该是把合并后的内容保存到合并的单元格内。故可以用下面的代码试试:
Sub 合并保留()
hs = Cells(Rows.Count, 1).End(xlUp).Row '计算第1列数据行数
ls = Cells(1, Columns.Count).End(xlToLeft).Column '计算第1行数据列数
For i = 1 To hs
hc = ""
For j = 1 To ls
hc = hc & Cells(i, j) '数据合并
Next j
Application.DisplayAlerts = False '不显示警告信息框
Cells(i, 1) = hc '在行第1个单元格写入合并后的数据
Range(Cells(i, 1).Address & ":" & Cells(i, ls).Address).Merge '合并单元格
Range(Cells(i, 1).Address & ":" & Cells(i, ls).Address).HorizontalAlignment = xlCenter '水平居中
Range(Cells(i, 1).Address & ":" & Cells(i, ls).Address).VerticalAlignment = xlCenter '垂直居中
Next i
End Sub
03版本测试通过,仅供参考!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询