Office中国论坛/Access中国论坛

标题: 在EXCEL里,如何把相同行里的的单元格合并? [打印本页]

作者: 想做NO.1    时间: 2012-9-12 12:11
标题: 在EXCEL里,如何把相同行里的的单元格合并?
本帖最后由 想做NO.1 于 2012-9-12 12:13 编辑

如下图,我想把“列一”中相当编号的单元格合并,这几行后面相同的单元格也随之合并,就是以“列一”中的编号为标准进行列二,列三(或者更多)的单元格的合并。求哥哥弟弟姐姐妹妹们帮帮忙,多谢哈!!!

[attach]50371[/attach]
作者: 想做NO.1    时间: 2012-9-12 14:23
沉了啊,有木有大侠有现成的代码提供一份哇,灰常感谢呀{:soso_e150:}
作者: 灰太郎    时间: 2012-9-12 19:37
1111111111111111111111111111111
作者: roych    时间: 2012-9-12 20:26
把这段代码放在需要合并的工作表级别的模块中(例如,sheet1),选择区域,然后运行宏即可。
  1. Sub mergecells()
  2.     Application.ScreenUpdating = False
  3.     Application.DisplayAlerts = False
  4.     Dim cell   As Range
  5.     Dim i, b   As Integer
  6.     i = Selection.Rows.count - 1
  7.     For b = 1 To i
  8.         With ActiveCell
  9.             .Select
  10.             If .Offset(1, 0) = .Value Then
  11.                 Range(ActiveCell, .Offset(1, 0)).Select
  12.                 Selection.mergecells = True
  13.                 .HorizontalAlignment = xlCenter
  14.                 .VerticalAlignment = xlCenter
  15.             Else
  16.                 .Offset(1, 0).Select
  17.             End If
  18.         End With
  19.     Next
  20.     Application.ScreenUpdating = True
  21.     Application.DisplayAlerts = True
  22. End Sub
复制代码

作者: 叶海峰    时间: 2012-9-13 09:53
这段代码是支持多列操作的.

Sub mergecells()     '自动合并单元格
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim str    As String
    Dim i, b, j, c As Integer

    i = Selection.Rows.count - 1
    j = Selection.Columns.count
    For c = 1 To j
        str = ActiveCell.Address
        For b = 1 To i
            With ActiveCell
                .Select
                If .Offset(1, 0) = .Value Then
                    Range(ActiveCell, .Offset(1, 0)).Select
                    Selection.mergecells = True
                    .HorizontalAlignment = xlCenter
                    .VerticalAlignment = xlCenter
                Else
                    .Offset(1, 0).Select
                End If
            End With

        Next
        Range(str).Offset(0, 1).Select
    Next
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub
作者: pureshadow    时间: 2012-9-14 14:53
又代码,呵呵。。。。。
Excel技巧之合并单元格系列:不规则区域合并单元格的批量操作:
http://support.microsoft.com/kb/2607855/zh-cn


作者: 想做NO.1    时间: 2012-9-18 17:26
谢谢管理大人{:soso_e163:}
作者: 想做NO.1    时间: 2012-9-18 17:35
roych 发表于 2012-9-12 20:26
把这段代码放在需要合并的工作表级别的模块中(例如,sheet1),选择区域,然后运行宏即可。

多谢版主哥哥^_^




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3