如果使用 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

注意:

  1. 您必须反向循环遍历行
  2. 即使单元格看起来是空的,但它实际上不是,它有 Chr(13) & Chr(7),因此您不能使用 =""
  3. 您不能使用 .Cells。这是.Cell
  4. 没有 属性 作为 .Value。是.Range.Text

截图