word文档批量合并每一行或每一列

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如上图表格要合并成下面的表格,只能一行一行的合并,如果几十或上百行需要合并就会很

当然也可以合并每一列,如下图

代码(代码不是乱码,是我用的Blackadder ITC字体,不影响复制粘贴):

Sub 批量合并每一行的单元格() '运行前先选中要合并的单元格

Dim mytable As Word.Table

Dim mycells As Word.Cells

Dim mycell() As Integer

Set mytable = Selection.Tables(1)

Set mycells = Selection.Cells

ReDim mycell(mycells.Count, 1)

For i = 1 To mycells.Count

mycell(i - 1, 0) = mycells.Item(i).RowIndex

mycell(i - 1, 1) = mycells.Item(i).ColumnIndex

Next i

Dim p: p = 0

For k = 1 To UBound(mycell)

If mycell(p, 0) <> mycell(k, 0) Then

mytable.Cell(mycell(p, 0), mycell(p, 1)).Merge mytable.Cell(mycell(k - 1, 0), mycell(k - 1, 1))

p = k

End If

Next k

End Sub

Sub 批量合并每一列的单元格() '运行前先选中要合并的单元格

Dim mytable As Word.Table

Dim mycells As Word.Cells

Dim mycell() As Integer

Set mytable = Selection.Tables(1)

Set mycells = Selection.Cells

ReDim mycell(mycells.Count, 1)

For i = 1 To mycells.Count

mycell(i, 0) = mycells.Item(i).RowIndex

mycell(i, 1) = mycells.Item(i).ColumnIndex

Next i

For k = 1 To mycell(UBound(mycell), 1) - mycell(1, 1) + 1

For p = UBound(mycell) To 1 Step -1

If mycell(k, 1) = mycell(p, 1) Then

mytable.Cell(mycell(k, 0), mycell(k, 1)).Merge mytable.Cell(mycell(p, 0), mycell(p, 1))

Exit For

End If

Next p

Next k

End Sub 'by baidu:cy9934303 qq:83661091

使用方法:

1.点击“开发工具”再点击“Visual Basic”如下

如果找不到“开发工具”选项,如下图点击WORD选项

然后在弹出的对话框勾选“在功能区显示开发工具选项卡”,确定即可

2.打开“Visual Basic”后,双击下图箭头指的选项,然后将代码复制到弹出的框框里面即可。

3.使用的时候先选中要合并的单元格,如下图

在点击“宏”

弹出下面的对话框,选择合并每一行,点击运行即可合并完成。

相关文档
最新文档