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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2010, 10:24   #1
An-rey
Новичок
Джуниор
 
Регистрация: 27.07.2010
Сообщений: 2
По умолчанию Отсуствует доступ к отдельным строкам

Коллеги, плз, помогите разобраться с проблемой.

Программно создаю таблицу.
Каждая новая строка добавляется командой (1):

oTable.Rows.Add BeforeRow:=oTable.Rows(nRow),

где nRow - номер последней строки в таблице.

По ходу наполнения таблицы требуется в некоторых строках создаваемой таблицы разбивать ячейку не несколько строк. Делаю это командой (2):

oTable.Cell(nRow, 4).Split NumRows:=oRcIn.ResolCnt, NumColumns:=1

Проблема в том, что после создания строки, у которой имеется ячейка, разбитая на несколько строк, очередная команда (1) не отрабатывает. Выдается ошибка: Run-time error '5991': Отсутствует доступ к отдельным строкам, поскольку таблица имеет ячейки, объединенные по вертикали.
Андрей
An-rey вне форума Ответить с цитированием
Старый 27.07.2010, 11:42   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Да, работать не будет. Нужно обращаться к ячейкам, отсеивая нужные по индексу строки
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 27.07.2010, 17:57   #3
An-rey
Новичок
Джуниор
 
Регистрация: 27.07.2010
Сообщений: 2
По умолчанию

Алекс, не могли бы Вы привести пример?
Не получается добавить строку в таблицу(2 строки, 7 столбцов), обращаясь только к ячейкам.
Андрей
An-rey вне форума Ответить с цитированием
Старый 27.07.2010, 19:41   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Метод Add имеет такую особенность, что если не указать параметр BeforeRow, то строка будет добавлена сразу после диапазона для которого этот метод вызывается.
Трудно посоветовать точно, не видя вашу конкретную задачу, например так:
Код:
Sub test()
  Dim oTbl As Table
  
  Set oTbl = Selection.Tables(1)
  
  With oTbl
    Do While .Rows.Count < 15
      .Cell(.Rows.Count, 1).Range.Rows.Add
      .Cell(.Rows.Count - 1, 4).Split 5, 1
    Loop
  End With
End Sub
Код вставляет строку перед последней строкой таблицы и разбивает ячейку в 4-м столбце вставленной строки на 5 строк. Я не использую параметр количества строк, т.к. он постоянно меняется при вставке строк и разбиении ячеек.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как разбить данные из одной ячейки по 4-м отдельным ячейкам? lench Microsoft Office Excel 12 12.01.2012 08:20
массив отдельным файлом Izlom Помощь студентам 2 31.05.2010 17:25
Работа с отдельным клиентом Rapala Работа с сетью в Delphi 10 31.03.2010 17:29
Доступ к строкам в файле .txt severin Помощь студентам 11 10.11.2009 17:16
закачка файла отдельным потоком. ZeitGeist7 Общие вопросы Delphi 12 26.02.2009 20:23