快速遍历包含合并单元格的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循环。

输出结果如下所示:

饮料 果汁

相关推荐
树欲静而风不止5 天前
Easy Excel合并单元格情况简单导入导出
easyexcel·1024程序员节·合并单元格
winfredzhang9 天前
如何使用Python合并Excel文件中的多个Sheet
python·excel·合并·sheet
GuoyeZhang2 个月前
Git拉取某个分支的指定文件
git·合并·merge
小草cys2 个月前
树莓派neo4j在noe4j中将csv文件添加节点
neo4j·树莓派·合并
笑虾3 个月前
sqlite 合并两个数据库中的特定表
数据库·sqlite·合并
小草cys3 个月前
合并图片为pdf
pdf·合并
何庆华4 个月前
Excel第28享:如何新建一个Excel表格
excel·创建excel·合并单元格
Amyniez5 个月前
R语言数据处理(四)
开发语言·经验分享·数据分析·r语言·excel·合并
Anakki5 个月前
【MySQL精通之路】SQL优化(1)-查询优化(3)-索引合并
数据库·sql·mysql·合并·索引