删除 table 中不包含关键字的行

Removing a row in a table if it doesn't contain keyword

现在我在 Word 文档中有一个非常长的 table,我从 Excel 工作表中填充了它。它有 6 列,我正在尝试在 Word VBA 中编写一些代码,这些代码将遍历 table 中的所有行,如果第一列中的单元格不以 an 开头,则删除整行等号 ("=")

例如,我只是想保留包含如下文本的行,

 "=1+S -03F7", "=1+M -06M1", etc. etc.

我该如何编码?我无法为代码提供任何具体的查找内容,因为等号后的部分对于每一行都是不同的。

所以这行不通,对吧?:

If Not ActiveDocument.Tables(83).Columns(1).Range.Text = "=" Then
EntireRow.Select
Selection.Delete

我想我应该引用第 1 列中的单元格,而不是列本身...另外,它不起作用,因为它只查找带有等号的东西...而且我不知道如果找到没有等号的单元格,我如何才能将它转到 select 行。我不知道如何在第一列的单元格中按大小写匹配。

您可以使用行 属性 遍历 table 中的行。然后,您可以使用单元格 属性 找到该行中的第一个单元格。然后您可以只检查范围的第一个字符:

Sub DeleteUnwantedRows()
    Dim t As Table
    Dim r As Row
    Set t = ActiveDocument.Tables(1)

    For Each r In t.Rows
        If r.Cells(1).Range.Characters(1) <> "=" Then r.Delete
    Next r
End Sub