【问题标题】:Delete Row of a Word Table if Specific Value Exists using Excel VBA如果使用 Excel VBA 存在特定值,则删除 Word 表的行
【发布时间】:2017-11-24 22:06:17
【问题描述】:
所以我在 word 文档上有一个表格,想知道如何重写它以删除表格的整行(行中所有单元格中存在的文本以及行本身的存在) 如果第一列中的值为空单元格:
Set wdTable = wdDoc.Tables(1)
With wdTable.Cells(i,1)
For i = 2 To wdTable.Rows.Count
If .Value = "" Then
.EntireRow.Delete
End If
Next i
End With
【问题讨论】:
标签:
excel
ms-word
excel-2010
excel-2007
vba
【解决方案1】:
你的意思是这样的?
Set wdTable = wdDoc.Tables(1)
For i = wdTable.Rows.Count To 2 Step -1
If wdTable.Cell(i, 1).Range.Text = Chr(13) & Chr(7) Then wdTable.Rows(i).Delete
Next i
注意:
- 您必须反向循环遍历行
- 即使单元格看起来不是空的,它也有
Chr(13) & Chr(7),因此你不能使用=""
- 您不能使用
.Cells。是.Cell
- 没有
.Value 的属性。是.Range.Text
截图