在WORD中,用VBA检测表格中合并的单元格,再进行折分

运行代码前的表格:

 运行代码后

代码如下:

Option Explicit


Sub 找出合并单元格且合并()
    Dim tbl As Table
    Dim cell As cell
    Dim i, j, errorCount, 开始错误的行号, zonghang, zonglie As Integer
    Dim a As Double
    
    Set tbl = ActiveDocument.Tables(1)
    
    zonghang = ActiveDocument.Tables(1).Rows.count
    zonglie = ActiveDocument.Tables(1).Rows.count
    For j = 1 To zonglie
        On Error Resume Next ' 启用错误处理

        For i = 1 To zonghang
            tbl.cell(i, j).Select

            If Err.Number <> 0 Then
                If errorCount = 0 Then
                    开始错误的行号 = i - 1
                End If
                ' 错误计数器 +1
                errorCount = errorCount + 1
                ' 清除错误
                Err.Clear
            End If
        Next i

        On Error GoTo 0 ' 禁用错误处理

        If 开始错误的行号 <> 0 Then
            MsgBox ("合并的单元格在:第1个表格的第" & 开始错误的行号 & "行第" & j & "列,而且合并了" & errorCount + 1 & "行")
            tbl.cell(开始错误的行号, j).Select

            Call 拆分单元格(errorCount + 1, 1)

'            MsgBox ("已经合并:第1个表格的第" & 开始错误的行号 & "行第" & j & "列,合并了" & errorCount + 1 & "行")
        Else
'            MsgBox ("在第" & j & "列中未找到合并的单元格")
        End If
        errorCount = 0
    Next j

End Sub
Function 拆分单元格(Rows, Coluns)
    Selection.Cells.Split NumRows:=Rows, NumColumns:=Coluns, MergeBeforeSplit:=False
End Function

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值