Статьи из блога

Макрос подсчета количества строк в таблице

Если ваш документ содержит таблицу и вам нужно подсчитать количество строк в ней, то результат можно получить двумя способами.

 

Первый способ заключается в том, что вы выделяете таблицу, открываете диалоговое окно Свойства таблицы и на вкладке Строка узнаете количество строк:

 

Количество строк в выделенной таблице

 

Второй способ заключается в написании простейшего макроса, который подсчитывает количество строк в текущей таблице (в которой находится курсор ввода) и выводит окошко с информацией:

 

Окно с информацией о количестве строк в текущей таблице

 

Откройте редактор Visual Basic (Alt+F11) и вставьте в какой-либо модуль шаблона Normal.dot следующий код:

Sub rowsCount()
' Подсчет количества строк в текущей таблице
Dim n As Integer
   n = Selection.Tables(1).Rows.Count
   MsgBox prompt:="В таблице " & n & " строк", _
   Title:="Подсчет строк в таблице"
End Sub

 

Чтобы иметь быстрый доступ к этому макросу, назначьте для него сочетание клавиш или создайте кнопку на панели инструментов или в панели быстрого доступа (Word 2007).

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

Комментариев: 6

  1. Александр
    05.03.2009 в 13:23 | #1

    Как узнать количество строк в таблице в каждом столбце отдельно(после объединения ячеек, к примеру, количество строк в разных столбцах совпадать не будет) ?

  2. 05.03.2009 в 13:37 | #2

    Посмотрите здесь. Там рассматривается макрос, который работает с объединенными ячейками в таблице. В частности, можно определить сколько ячеек объединенно по строкам в данном столбце.

    Напрямую это сделать нельзя, т.к. доступ к отдельны столбцам и строкам отсутствует, если в таблице есть объединенные ячейки

  3. Александр
    05.03.2009 в 14:37 | #3

    Какой командой это можно узнать(объеденены ячейки или нет)? Хотелось бы увидеть небольшой код, как в примере выше.

  4. 05.03.2009 в 15:29 | #4

    Ну вот же код, который это делает. Только нужно доработать

    Sub HowManyMerged()
      On Error Resume Next
      For Each oTbl In ActiveDocument.Tables
        For i = 1 To oTbl.Rows.Count
          For j = 1 To oTbl.Columns.Count
            oTbl.Cell(i, j).Select
            'Сколько строк объединено в этой ячейке
            iRSpan = Selection.Information(wdEndOfRangeRowNumber) - _
                      Selection.Information(wdStartOfRangeRowNumber) + 1
            MsgBox "В этой ячейке объединено " & iRSpan & " строк", vbOKOnly + vbInformation
          Next j
        Next i
      Next oTbl
    End Sub

    Ячейка будет выделена и выведено сообщение сколько в ней строк объединено. К сожалению, со ячейками, объединенными по столбцам так не получится.

  5. Аноним
    25.07.2012 в 08:49 | #5

    Оба кода не работают (

  6. Дмитрий
    10.02.2017 в 09:20 | #6

    Подскажите, как сделать подсчёт столбцов 2-й таблицы в документе?!! КАк просто стоблцы искать я понял, а как задать, чтобы именно кол-во столбцов второй таблицы считал. Нужный мне домумент всегда состоит из 4 таблиц, одинаково расположенных друг за другом!

Оставьте комментарий!

(обязательно)

^ Наверх