Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2010, 09:50   #1
SilverSmallFish
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 25
По умолчанию Автоматическая нумерация в таблице word

Здравствуйте!

У меня из Excel в Word передаётся таблица.
Переданная таблица на рисунке.
Вот мне бы хотелось, с помощью макроса нумеровать первый столбец исключая объединёные ячейки.

Заранее спасибо.
Изображения
Тип файла: jpg Таблица.JPG (40.5 Кб, 185 просмотров)
SilverSmallFish вне форума Ответить с цитированием
Старый 23.04.2010, 09:55   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Варианта два:
  1. В каждую нужную ячейку первого столбца вставить поле SEQ
  2. Выделить нужные ячейки и применить нумерованный список. Возможно, придётся настроить отступы в списке, чтобы он корректно отображался в ячейке.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 23.04.2010, 11:17   #3
SilverSmallFish
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 25
По умолчанию

Я извеняюсь, может я вас не совсем поняла, мне нужно чтобы макросом в Word-е это делалось автоматически, т.к. в Excel-е я этого сделать не могу, там не все записи передаются, только фильтрованные.
А в Word-е запускать макрос и опа, нумерация готова, исключая объединёные, у меня трудности именно в том что у меня объединёные ячейки есть, я себе пока не представляю как их обойти и нумеровать дальше.
SilverSmallFish вне форума Ответить с цитированием
Старый 26.04.2010, 07:26   #4
SilverSmallFish
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 25
По умолчанию

Здравствуйте помощники!

Где же вы?
Мне очень нужны ваши советы
SilverSmallFish вне форума Ответить с цитированием
Старый 26.04.2010, 16:52   #5
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Если ячейки объединены по строкам, то поможет такой макрос:
Код:
Sub AutoNumerateTable()
  Dim oTbl As Table, i As Integer
  Dim oCell As Cell
  
  Set oTbl = Selection.Tables(1)
  oTbl.Range.Cells(1).Select
  
  For Each oCell In oTbl.Range.Cells
    If oCell.ColumnIndex = 1 Then
      oCell.Select
          If (.Information(wdEndOfRangeRowNumber) - .Information(wdStartOfRangeRowNumber)) = 0 Then
            .Collapse
            .Fields.Add .Range, wdFieldSequence, "Tbl" & oTbl.ID & "AutoNum"
          End If
        End With
    End If
  Next
End Sub
Приходится использовать перебор всех ячеек в таблице из-за бага
Нумерация делается с помощью поля SEQ
С объединёнными столбцами такой фокус не пройдёт, т.к. я не знаю способа определить сколько столбцов объединено в ячейке
Но если подумать, то можно! Если ячейка объединяет все столбцы, то индекс столбца следующей ячейки будет таким же!:
Код:
Sub AutoNumerateTable()
  Dim oTbl As Table, i As Integer
  Dim oCell As Cell
  
  Set oTbl = Selection.Tables(1)
  oTbl.Range.Cells(1).Select
  For Each oCell In oTbl.Range.Cells
    If oCell.ColumnIndex = 1 And (Not oCell.Next Is Nothing) Then
      If oCell.Next.ColumnIndex <> oCell.ColumnIndex Then
        oCell.Select
        With Selection
          .Collapse
          .Fields.Add .Range, wdFieldSequence, "Tbl" & oTbl.ID & "AutoNum"
        End With
      End If
    End If
  Next
End Sub
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 27.04.2010 в 09:55.
viter.alex вне форума Ответить с цитированием
Старый 27.04.2010, 06:43   #6
SilverSmallFish
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 25
По умолчанию

viter.alex я вам бесконечно благодарна!

большое человеческое спасибо!

пропуск объединённых ячеек прекрасно работает!

ещё раз спасибо!
SilverSmallFish вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическая нумерация столбцов с учетом скрытых cons Microsoft Office Excel 12 27.04.2010 12:25
Автоматическая нумерация договоров, добавление контрагентов kitten2 Microsoft Office Word 1 22.12.2009 15:24
Автоматическая нумерация строк в DBGrid Len@09 БД в Delphi 10 02.11.2009 17:41
автоматическая нумерация Screame Microsoft Office Excel 4 01.08.2009 00:28
Автоматическая нумерация документов Лука Microsoft Office Excel 5 15.06.2009 21:59