我希望突出显示跟踪更改的表格单元格。
这是我的VBA代码:
Sub HiliteChanges()
Dim oTable As Table
Dim oColumn As Column
Dim oCell As Cell
Dim oRange As Range
Dim numRevs As Integer
Dim tableIndex, rowIndex, cellIndex As Integer
For tableIndex = 1 To ActiveDocument.Tables.Count
For rowIndex = 1 To ActiveDocument.Tables(tableIndex).Rows.Count
For cellIndex = 1 To ActiveDocument.Tables(tableIndex).Rows(rowIndex).Cells.Count
numRevs = ActiveDocument.Tables(tableIndex).Rows(rowIndex).Cells(cellIndex).Range.Revisions.Count
Debug.Print tableIndex, rowIndex, cellIndex, numRevs
If numRevs > 0 Then
ActiveDocument.Tables(tableIndex).Rows(rowIndex).Cells(cellIndex).Shading.BackgroundPatternColor = wdColorBlueGray
End If
Next
Next
Next
End Sub
它最终做的是突出整行,即使一行中只有一个单元格被更改。
我在一个包含3行和6列的表中进行了更改。这一变化发生在第一行的第四列。我在运行脚本之前关闭了Track Changes。这是输出:
1 1 1 1
1 1 2 1
1 1 3 1
1 1 4 1
1 1 5 1
1 1 6 1
1 2 1 0
1 2 2 0
1 2 3 0
1 2 4 0
1 2 5 0
1 2 6 0
1 3 1 0
1 3 2 0
1 3 3 0
1 3 4 0
1 3 5 0
1 3 6 0
所以看起来第一行中的每个单元格都有变化,但它并没有。只有一个细胞有变化。
有没有办法只突出有变化的细胞? (显然我的方式在某种程度上存在缺陷,但我无法看到。)
答案 0 :(得分:1)
检查修订时,请勿在选中的范围内包含“单元格结束”标记。不要问我为什么这样有用......
body