|
Объект ListObject
|
|||
---|---|---|---|
#18+
Здравствуйте! Имеется объект таблица на листе. Код: vbnet 1.
Колонки "Город", "ТТ" и "Отгрузки". Нужно скопировать эту таблицу, но с условием Город = "Город1", и вставить в другую книгу. У объекта ListObject есть возможность копировать определенные строки (не фильтр), заданные по условию, и вставлять эти строки? Или для решения данной задачи надо использовать какой то другой объект? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 15:14 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
ferzmikkопределенные строки (не фильтр), заданные по условиюА в чем разница между строками, заданными по описанному условию, и фильтром? У каждого объекта ListObject есть свой автофильтр, независимый от автофильтра всего листа, его используйте. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 17:33 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
Казанскийferzmikkопределенные строки (не фильтр), заданные по условиюА в чем разница между строками, заданными по описанному условию, и фильтром? У каждого объекта ListObject есть свой автофильтр, независимый от автофильтра всего листа, его используйте. По сути нужно взять таблицу и вставить в другой файл, но без строк города "Город2". При фильтре отбираем Город1, а Город2 скрыт, но присутствует в таблице. Надо чтобы вообще не было строк Город2. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 21:14 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
ferzmikk, копирование строк, отобранных фильтром Код: vbnet 1.
dest - куда копировать, например otherSheet.ListObjects(1).databodyrange.cells(1) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 21:30 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
Казанскийferzmikk, копирование строк, отобранных фильтром Код: vbnet 1.
dest - куда копировать, например otherSheet.ListObjects(1).databodyrange.cells(1) Прежде чем копировать на другой лист, надо на другом листе создать пустой ListObject? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2016, 07:29 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
а то отображает ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2016, 11:15 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
ferzmikkПрежде чем копировать на другой лист, надо на другом листе создать пустой ListObject?Необязательно, это было как пример. Можно просто в диапазон Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2016, 17:57 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
КазанскийМожно просто в диапазон Код: vbnet 1. 2. 3.
Теперь копирует нужные строки, только заголовки не копирует. Вместе с заголовками возможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2016, 20:44 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
ferzmikk, DataBodyRange замените на Range . Здесь описано, как обращаться к разным частям умной таблицы: https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2016, 21:02 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
Казанскийferzmikk, DataBodyRange замените на Range . Получилось, еще добавил преобразовать в ListObject, получился такой исходный код. Не слишком сложно написал? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 12:34 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
Казанскийferzmikk, Здесь описано, как обращаться к разным частям умной таблицы: https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables Спасибо за ссылку! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2016, 12:35 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
Макрос неправильно определяет количество видимых строк в автофильтре. Почему так? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 16:06 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
ferzmikk, F1 - Range.Rows PropertyWhen applied to a Range object that’s a multiple selection, this property returns rows from only the first area of the range.Т.е. в несвязном диапазоне .Rows относится только к первой области. Пичалька :) Значит надо делать цикл по областям (.Areas) и суммировать их .Rows.Count, или скопировать-вставить все куда-то, получить непрерывный диапазон и брать его число строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 16:33 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
А лучше использовать функцию листа ПРОМЕЖУТОЧНЫЕ.ИТОГИ Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 16:39 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
А вот .Cells в несвязном диапазоне - это все ячейки, а не только первой области! Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 20:12 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
КазанскийА лучше использовать функцию листа ПРОМЕЖУТОЧНЫЕ.ИТОГИ Код: vbnet 1. 2. 3.
Да, работает! Во втором аргументе функции SUBTOTAL нужно вставить переменную. Написал, но не правильно Код: vbnet 1.
Как правильно написать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 21:52 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
Вот еще. Нужно скопировать таблицу на другой лист, где - копироваться могут либо все строки, либо не все (фильтр строк по условию) - копируются не все колонки - копируется другая последовательность колонок ("Город", "Мера1", "Мера5", "Мера2" и "Мера4") Как это делается? Еще такой нюанс. Если на вкладке "Исходные данные" в таблице включен автофильтр, но не отобраны строки, то копируется таблица с автофильтром. Если отобраны строки - то копируестя без автофильтра. Почему? И в тот момент, после того как скопировали с отбором строк ЛистОбработанныйИсходник.ListObjects.Count равно нулю. Почему ноль, если на вкладке "Обработанные данные" есть сама таблица? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2016, 09:52 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
ferzmikkЕсли на вкладке "Исходные данные" в таблице включен автофильтр, но не отобраны строки, то копируется таблица с автофильтром. Если отобраны строки - то копируестя без автофильтра. Почему? И в тот момент, после того как скопировали с отбором строк ЛистОбработанныйИсходник.ListObjects.Count равно нулю. Почему ноль, если на вкладке "Обработанные данные" есть сама таблица?Видимо, логика такая - если копируется весь диапазон ListObject, на листе назначения создается ListObject. Если же копируется набор строк, то ListObject не создается, ListObjects.Count=0. Скопировать данные в другой последовательности столбцов и одновременно отфильтровать можно расширенным фильтром. Хорошая статья тут: http://www.planetaexcel.ru/techniques/2/197/ ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2016, 10:28 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
КазанскийСкопировать данные в другой последовательности столбцов и одновременно отфильтровать можно расширенным фильтром. Хорошая статья тут: http://www.planetaexcel.ru/techniques/2/197/ Не нашел про другую последовательность и отсечение столбцов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2016, 13:10 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
Может быть надо скопировать таблицу в виртуальную память, там удалить не нужные колонки и там же поменять порядок колонок, потом вставить на лист? Или копировать по одной колонке в нужной последовательности? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2016, 10:30 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
ferzmikk, да как угодно можно. А Расширенный фильтр Вы освойте, для начала из меню - это полезная штука. Про отбор столбцов: F1 - Отбор строк с помощью расширенного фильтраПри копировании отобранных строк в другое место можно указать столбцы, включаемые в копию. Перед отбором скопируйте заголовки нужных столбцов в первую строку области вставки результатов. Выполняя фильтрацию, введите ссылку на скопированные заголовки столбцов в поле Поместить результат в диапазон. Скопированные строки будут включать только те столбцы, заголовки которых были скопированы. То есть на другом листе в ряд ячеек вводите "Город", "Мера1", "Мера5", "Мера2" и "Мера4" и указываете этот диапазон в поле Поместить результат в диапазон. Расширенный фильтр кстати сам почистит столбцы ниже этих заголовков перед вставкой отфильтрованных данных. Посмотрите например http://www.cyberforum.ru/vba/thread1672727.html перестановка столбцов http://www.cyberforum.ru/vba/thread1592028.html несколько критериев для одного поля http://www.cyberforum.ru/vba/thread1526195.html про критерий-формулу http://www.cyberforum.ru/vba/thread1438381.html про размещение критерия фильтра на другом листе или книге ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 01:07 |
|
Объект ListObject
|
|||
---|---|---|---|
#18+
Делаю попроще. Копирую таблицу на другой лист. Потом перестановка, и далее удаление ненужных колонок. Пока без фильтра. На одной строке не работает. Как надо написать правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 16:31 |
|
|
start [/forum/topic.php?fid=61&msg=39340136&tid=2172863]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 282ms |
total: | 417ms |
0 / 0 |