快速遍历包含合并单元格的Word表格
Word中的合并表格如下,现在需要根据子类
(例如:果汁)查找对应的品类
,如果这是Excel表格,那么即使包含合并单元格,也很容易处理,但是使用Word VBA进行查找,就需要一些技巧。
示例代码如下:
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循环。
输出结果如下所示:
饮料 果汁