快速遍历包含合并单元格的Word表格

Word中的合并表格如下,现在需要根据子类(例如:果汁)查找对应的品类,如果这是Excel表格,那么即使包含合并单元格,也很容易处理,但是使用Word VBA进行查找,就需要一些技巧。

示例代码如下:

vb 复制代码
Sub Demo()
    Dim oTab As Table, oCell As Cell
    Dim Cat1 As String, Cat2 As String
    Const TARGET = "果汁"
    Set oTab = ThisDocument.Tables(1)
    For Each oCell In oTab.Range.Cells
        If oCell.ColumnIndex = 2 Then
            Cat2 = Left(oCell.Range.Text, Len(oCell.Range.Text) - 2)
            If Cat2 = TARGET Then
                oCell.Select
                Selection.MoveLeft wdCell
                Cat1 = Selection
                Debug.Print Cat1 & vbTab & Cat2
                Exit For
            End If
        End If
    Next
End Sub

【代码解析】

第4行代码定义要查找的子类名称。

第5行代码获取文档中的第一个表格对象。

第6~16行代码循环遍历表格单元格。

第7行代码判断单元格的列号。

第8行代码读取第二列单元格的值,使用Left去除单元格的结束标志字符。

第9行代码判断是否为待查找的子类。

第10行代码选中第二列单元格。

第11行代码向左移动一个单元格,此时将选中对应的第一列单元格。

第12行代码读取类目名称。

第13行代码输出结果。

第14行代码结束For循环。

输出结果如下所示:

饮料 果汁

相关推荐
taller_20007 天前
借助Excel实现Word表格快速排序
排序·表格排序·word表格·word排序·随机排序
树欲静而风不止1 个月前
Easy Excel合并单元格情况简单导入导出
easyexcel·1024程序员节·合并单元格
winfredzhang1 个月前
如何使用Python合并Excel文件中的多个Sheet
python·excel·合并·sheet
GuoyeZhang3 个月前
Git拉取某个分支的指定文件
git·合并·merge
小草cys3 个月前
树莓派neo4j在noe4j中将csv文件添加节点
neo4j·树莓派·合并
笑虾3 个月前
sqlite 合并两个数据库中的特定表
数据库·sqlite·合并
小草cys3 个月前
合并图片为pdf
pdf·合并
何庆华4 个月前
Excel第28享:如何新建一个Excel表格
excel·创建excel·合并单元格
Amyniez6 个月前
R语言数据处理(四)
开发语言·经验分享·数据分析·r语言·excel·合并