1

Тема: Таблица удалить сроки сплошные

Добрый вечер. Прошу помощи с макросом.
Суть: Нужно удалить смежные строки в таблице.
То есть, у нас таблица (пример вложен), там где в строке написано "текст (ЭТУ СТРОКУ НУЖНО УДАЛИТЬ, вместе с содержимым)" ее нужно удалить)


пример макроса ниже:
я менял "Selection.Font.BOLD" на "Selection.Rows.Delete", но так не пашет...

Sub headerbolder()
If ActiveDocument.Tables.Count = 0 Then MsgBox "Таблиц нет.": Exit Sub

    With ActiveDocument.Tables(1)   'ищем в 1-й таблице документа
        
        For N = 1 To .Rows.Count
            .Rows(N).Select         'выделили N-ю строку таблицы
            If Selection.Cells.Count = 1 Then Selection.Font.BOLD = True
            'если в очередной строке ячейка одна - делаем её шрифт жирным'
        Next
    
    End With
End Sub
Post's attachments

текст.doc 39.5 Кб, 3 скачиваний с 2011-09-10 

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

2

Re: Таблица удалить сроки сплошные

With ActiveDocument.Tables(1)   
       
        .Rows(13).Delete
и также 16, 21, 24 или можно через Like, если текст содержит что-то тогда за борт

3

Re: Таблица удалить сроки сплошные

Самый простой способ это макрос:

Public Sub Row_Delete()
Dim tbl As Table
Dim rw As Row
    Set tbl = Selection.Tables(1)
        For Each rw In tbl.Rows
            If rw.Cells.Count = 1 Then
                rw.Delete
            End If
        Next rw
End Sub

Ищет в выделенной таблице строку с 1 ячейкой, что является объединенной и удаляет ее

4

Re: Таблица удалить сроки сплошные

спасибо, мне вот еще такой макрос посоветовали

Sub headerbolder()
Dim n As Long
If ActiveDocument.Tables.Count = 0 Then MsgBox "Таблиц нет.": Exit Sub
 
    With ActiveDocument.Tables(1)   'ищем в 1-й таблице документа
        
        For n = .Rows.Count To 1 Step -1
            If .Rows(n).Cells.Count = 1 Then .Rows(n).Delete
        Next n
    
    End With
End Sub

5

Re: Таблица удалить сроки сплошные

Можно и так smile  это практически одно и тоже