Статьи из блога
Статьи из блога
Макрос подсчета количества строк в таблице
Рубрика: Макросы, Таблицы Word
Метки: макросы | статистика | таблицы
Среда, 26 сентября 2007 г.
Просмотров: 6189
Подписаться на комментарии по RSS
Версия для печати
Метки: макросы | статистика | таблицы
Среда, 26 сентября 2007 г.
Просмотров: 6189
Подписаться на комментарии по RSS
Версия для печати
Если ваш документ содержит таблицу и вам нужно подсчитать количество строк в ней, то результат можно получить двумя способами.
Первый способ заключается в том, что вы выделяете таблицу, открываете диалоговое окно Свойства таблицы и на вкладке Строка узнаете количество строк:

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

Откройте редактор 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).

Поиск
Рубрики
Подписка
Читают
Обсуждают
Форум
страницы
сайты
статистика
Комментариев: 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Ячейка будет выделена и выведено сообщение сколько в ней строк объединено. К сожалению, со ячейками, объединенными по столбцам так не получится.