编写"宏"让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

将上面的宏指定给一个自定义的工具栏按钮。接下来我们就可以测试一下结果了,如在几个不相邻的单元格内依次输入不同的数据(可以是文字、字母或数字),最后选中所有的数据区域,单击刚才自定义的按钮,就可以看到合并的效果了。