Страницы: 1
RSS
Макрос переноса данных
 
добрый день!
имеется файл учета заявок, поступивших в работу. хочется, чтобы из формы заявки при нажатии кнопки данные переносились в общую таблица заявок. с макросами дружу не сильно, использую готовые варианты, подгоняя под себя. в данном случае макрос написан, но есть проблема. хочется, чтобы строка итогов не копировалось, при этом надо учитывать, что какая-то заявка будет состоять из 1 строки + итог, а какая-то из 30 + итог. возможно итоговую строку следует реализовывать по-другому, а не как итог умной таблицы?
 
Мона конечно:
For i = 7 To lr - 1
но с ListObjects лучше работать как с ListObjects. У ListObjects есть свойства ListRows и databodyrange. Почитайте справку по ним.
Я сам - дурнее всякого примера! ...
 
Кросс: http://www.programmersforum.ru/showthread.php?t=240336
Я сам - дурнее всякого примера! ...
 
KuklP, пытался посмотреть ListObjects. по такой инструкции Set tb = ActiveCell.ListObject если активная ячейка вне таблицы - вываливаемся в ошибку. Так что для корректной работы надо обязательно активировать таблицу?
 
Игорь, а помнишь про LastRow для таблицы?))
 
Цитата
Юрий М пишет:LastRow для таблицы?
:?: не понял :(
 
Ну был момент, ты (кажется) определял последнюю строку в ТАБЛИЦЕ. Так вот там такая история: если активна ячейка за пределами таблицы - значение одно, а если активная в пределах таблицы - другое. Или это был не ты?))
 
Не, не я. Я вообще эти умные таблицы еще не щщупал.
 
Игорь, "Это же не наш метод"  :D  Мы же знаем с какой именно таблицей работаем и какие есть на листе. Можно так считать всю в массив по имени:
Код
a = ws.ListObjects("Таблица3").DataBodyRange.Value
или по индексу:
Код
a = ws.ListObjects(1).DataBodyRange.Value

Но ежли уж очень хотца:
Код
if not Intersect(ws.ListObjects("Таблица3").Range, ActiveCell) Is Nothing then
и даже проще:
Код
Debug.Print ws.ListObjects("Таблица3").Active
Изменено: KuklP - 04.07.2013 23:02:47
Я сам - дурнее всякого примера! ...
 
KuklP, Сережа, так у автора копируются не все столбцы да еще и перенос тоже в ТАБЛИЦУ. У меня файл глюкнул с которым игрался.
 
Игорь, так берем в массив всю таблицу и копируем из нее нужное. Или вот еще:
Код
ListColumn.DataBodyRange Property 
Returns a Range object that is the size of the data portion of a column. Read-only.
Version Information
 Version Added:  Excel 2007

Syntax
expression.DataBodyRange
expression   A variable that represents a ListColumn object.

Remarks
The returned object excludes the Header and Totals cell.
Я сам - дурнее всякого примера! ...
 
nika_tver, посмотрите пример кода :) Комментировал и не стал удалять некоторые переменные не используемые в коде, но помогающие понять как определить границы данных Умной таблицы.
Скрытый текст
 
2 Серж, спасибо за примеры.
 
Спасибо большое за помощь
Страницы: 1
Читают тему
Наверх