在用Excel整理表格数据时,希望能够自动合并选中区域内所有单元格的内容,但是Excel软件自带的合并功能无法满足这个要求,应该怎么办呢?
我们可以编写一个宏来实现,它可以巧妙地保存选区中所有单元格内的数据,通过循环赋值到一个变量中,最后再将结果输出到合并后的单元格内。
代码如下:
Sub 合并单元格()
"关闭屏幕更新和警告提示
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim i%
"循环统计选中区域的单元格数据并将其合并到StrTotal中
For i = 1 To Selection.Count
StrTotal = StrTotal & Selection.Cells(i)
Next
"设置选区格式
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)With Selection
.MergeCells = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Value = """ & StrTotal "在合并数据前加 "号
End With
"恢复屏幕更新和警告提示
Application.DisplayAlerts = True
Application.ScreenUpdating = True
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)End Sub
将上面的宏指定给一个自定义的工具栏按钮。接下来我们就可以测试一下结果了,如在几个不相邻的单元格内依次输入不同的数据(可以是文字、字母或数字),最后选中所有的数据区域,单击刚才自定义的按钮,就可以看到合并的效果了。