1

Тема: Удаление строк таблиц по условию

Имеется справка в Ворде. При автозаполнении иногда после n-х строк имеются пустые значения. Люди добрые, подскажите, как написать макрос автоматически удаляющии данные строки? roll

2

Re: Удаление строк таблиц по условию

Ернар пишет:

Имеется справка в Ворде. При автозаполнении иногда после n-х строк имеются пустые значения. Люди добрые, подскажите, как написать макрос автоматически удаляющии данные строки? roll

Справка-пример прилагается

Post's attachments

Справка пример.docx 25.87 Кб, 2 скачиваний с 2018-04-30 

You don't have the permssions to download the attachments of this post.

3

Re: Удаление строк таблиц по условию

Тут важен один момент, будут ли строки, которые нужно удалять, полностью пустыми? (т.е. может ли быть так, что в какой-то строке могут быть все ячейки пустые, а одна с информацией) + Нужно ли удалять строки с примечаниями?

По вашему примеру будет работать вот этот макрос:

Sub DeleteEmptyRows()
'Удаляем пустые (меньше 3 символов) строки таблицы с объединёнными по вертикали ячейками
'vbadevelope@yandex.ru для wordexpert.ru
Dim oTable As Table
Dim oCell As Cell
Application.ScreenUpdating = False
For Each oTable In ActiveDocument.Tables
    For Each oCell In oTable.Range.Cells
        If oCell.ColumnIndex = 1 Then
            If Len(Replace(oCell.Range.Text, Chr(32), "")) <= 3 Then
                iRow = oCell.RowIndex
                oCell.Select
                If oTable.Rows.Count = iRow Then
                    Selection.MoveRight Unit:=wdCharacter, Count:=8, Extend:=wdExtend
                    Selection.Cells.Delete
                Else
                    Do While Selection.Range.Cells(Selection.Range.Cells.Count).Next.RowIndex = iRow
                        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
                    Loop
                    Selection.Cells.Delete
                End If
            End If
        End If
    Next oCell
Next oTable
Application.ScreenUpdating = True
End Sub
Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871