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