如果使用 Excel VBA 存在特定值,则删除单词 Table 的行
Delete Row of a Word Table if Specific Value Exists using Excel VBA
所以我在 word 文档上有一个 table,想知道如何重写它以删除 table 的整行(存在于所有单元格中的文本行以及行本身的存在)如果第一列中的值是一个空单元格:
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
你的意思是这样?
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
截图
所以我在 word 文档上有一个 table,想知道如何重写它以删除 table 的整行(存在于所有单元格中的文本行以及行本身的存在)如果第一列中的值是一个空单元格:
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
你的意思是这样?
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
截图