如果表中的行不包含关键字

时间:2015-07-10 17:34:59

标签: vba ms-word word-vba

现在我在Word文档中有一个非常长的表,我从Excel工作表中填充了该表。它有6列,我试图在Word VBA中编写一些代码,它将遍历表中的所有行,如果第一列中的单元格没有以等号开头,则删除整行 {{1 }} 即可。

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

("=")

我将如何编码?我不能给代码任何特定的代码,因为等号后的部分对于每一行都是不同的。

所以这不起作用,对吧?:

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

我想我应该引用第1列中的单元格,而不是列本身...而且,它不起作用,因为它只是寻找具有等号的东西...而且我不知道我是怎么做的如果它找到没有等号的单元格,可以让它选择行。我不知道如何在第一列的单元格中按案例进行匹配。

1 个答案:

答案 0 :(得分:2)

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

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