Удаление строки в таблице, если она не содержит ключевого слова

Прямо сейчас у меня есть очень длинная таблица в документе Word, которую я заполнил из листа Excel. У него 6 столбцов, и я пытаюсь написать что-то в Word VBA, которое будет проходить по всем строкам в таблице и удалять всю строку, если ячейка в первом столбце НЕ начинается со знака равенства ("=").

Например, я пытаюсь сохранить только строки с такими текстами, как

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

Как бы я закодировал это? Я не могу дать коду что-то конкретное для поиска, так как части после знака равенства будут разными для каждой строки.

Так что это не сработает, верно?:

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

Думаю, мне следует ссылаться на ячейки в столбце 1, а не на сам столбец... Кроме того, это не работает, потому что он ищет только вещи со знаком равенства... И я не знаю, как я могу это получить чтобы выбрать строку, если она находит ячейку без знака равенства. Я не знаю, как сопоставить по регистру в ячейке первого столбца.


person idk123    schedule 10.07.2015    source источник
comment
Что вы имеете в виду, «который я заполнил из листа Excel»? Вы внедрили объект OLE? Вы скопировали и вставили? Вы создали таблицу с помощью VBA?   -  person Dick Kusleika    schedule 10.07.2015
comment
У меня есть код, который автоматически формирует строки в таблице Word из Excel до конца рабочего листа Excel. Он не встроен и не скопирован/вставлен. Это обычная таблица, которую нужно немного отредактировать, так как она напрямую импортируется из Excel.   -  person idk123    schedule 10.07.2015


Ответы (1)


Вы можете просмотреть строки в таблице, используя свойство 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
person Jane    schedule 10.07.2015
comment
Работал как шарм! Большое спасибо - person idk123; 10.07.2015