gpt4 book ai didi

vba - 如何检测 vba 中的合并单元格(Word 2010)

转载 作者:行者123 更新时间:2023-12-05 07:56:34 25 4
gpt4 key购买 nike

我想在 word 2010 上检测并跳过 vba 中的合并单元格。

我正在制作一个需要在第一列中写入的宏,但我有一些合并的单元格,我不想写入。我找到的所有示例都是针对 Excel 的。

我试图检测每行的列数,但没有成功。我收到了 “错误 5991 表格具有垂直合并的单元格”

那么当我得到合并的单元格时,我怎样才能跳过该行呢?

Sub test()

Dim Ro As Integer, Col As Integer


'init
Count = 1
Col = 1
For Ro = 4 To ActiveDocument.Tables(4).Rows.Count
'format
If Count < 10 Then
flag = "0"
Else
flag = ""
End If

'detect merge
If ActiveDocument.Tables(4).Rows(Ro).Cells.Count = 9 Then

ActiveDocument.Tables(4).Cell(Ro, Col).Range.Text = "R" & flag & CStr(Count)
Count = Count + 1

Else

Ro = Ro + 1
End If



Next Ro
End Sub

最佳答案

我找到了解决办法!

我用它来绕过错误:

出错时转到 ErrorHandler

错误处理器: 如果 Err.Number = 5991 或 Err.Number = 5941 那么 错误清除 再见 如果结束

            For Ro = 4 To ActiveDocument.Tables(4).Rows.Count
[My ugly code]
#in my case i can use a cell to determinate if it's a my row is merged or not
If Len(ActiveDocument.Tables(4).Cell(line, 5).Range.Text) > 0 Then
[My Ugly Code]

再见:

            Next Ro

希望我的解决方案能帮到你...

关于vba - 如何检测 vba 中的合并单元格(Word 2010),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28559703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com