Добрый вечер! Имеется большущая таблица из которой хотелось бы создать другую, но с несколькими условиями, а именно.. 1. Скопировать только определенные столбцы. 2. Т.к. в таблице есть столбец с датами, то хотелось бы делать выборку дат, до 31.12.2021 включительно, т.е. копировать в новую строки только до этой даты 3. В исходной таблице есть есть 2 столбца с датами - дата начала и дата конца, и столбец, где указан период 6 мес, 12 мес. В большинстве строк период 12 мес, но есть и те, где 6. Т.е. грубо говоря строка с периодом 6 мес в следующем году должна быть 2 раза. Возможно ли сделать так, чтобы после копирования в новую таблицу, в автоматическом режиме в новой таблице создавались копии строк, у которых период 6 мес, но даты начала и конца были бы + 6 мес от предыдущих строк.
Возможно ли что то подобное реализовать? Заранее спасибо всем откликнувшимся.
Добрый вечер! Имеется большущая таблица из которой хотелось бы создать другую, но с несколькими условиями, а именно.. 1. Скопировать только определенные столбцы. 2. Т.к. в таблице есть столбец с датами, то хотелось бы делать выборку дат, до 31.12.2021 включительно, т.е. копировать в новую строки только до этой даты 3. В исходной таблице есть есть 2 столбца с датами - дата начала и дата конца, и столбец, где указан период 6 мес, 12 мес. В большинстве строк период 12 мес, но есть и те, где 6. Т.е. грубо говоря строка с периодом 6 мес в следующем году должна быть 2 раза. Возможно ли сделать так, чтобы после копирования в новую таблицу, в автоматическом режиме в новой таблице создавались копии строк, у которых период 6 мес, но даты начала и конца были бы + 6 мес от предыдущих строк.
Возможно ли что то подобное реализовать? Заранее спасибо всем откликнувшимся.Maxxxis
Здравствуйте. Если я правильно Вас понял, то пункты 1 и 2 умеет сводная таблица. По пункту 3 без ста грамм примера не соображу как и что должно копироваться.
Здравствуйте. Если я правильно Вас понял, то пункты 1 и 2 умеет сводная таблица. По пункту 3 без ста грамм примера не соображу как и что должно копироваться.CaramelManiac
Здравствуйте. Если я правильно Вас понял, то пункты 1 и 2 умеет сводная таблица.
Приветсвую! да, сводная таблица это умеет и с ней/по ней вопросов нет. Но тут создаю что-то типа графика на следующий год, где будет своя шапка и тд и тп. Шапку, границы и тд умею рисовать через макрос, а вот как копировать определенные столбцы/строки из одной таблицы в другую, не соображу набросал маленький пример.
Здравствуйте. Если я правильно Вас понял, то пункты 1 и 2 умеет сводная таблица.
Приветсвую! да, сводная таблица это умеет и с ней/по ней вопросов нет. Но тут создаю что-то типа графика на следующий год, где будет своя шапка и тд и тп. Шапку, границы и тд умею рисовать через макрос, а вот как копировать определенные столбцы/строки из одной таблицы в другую, не соображу набросал маленький пример.Maxxxis
как копировать определенные столбцы/строки из одной таблицы в другую, не соображу
В таких случаях пользуйтесь макрорекордером. Он есть в любой версии Excel.
[vba]
Код
' копируем начало строки Range("A2:B2").Copy ' копирует указанный диапазон Range("L2").PasteSpecial Paste:=xlPasteColumnWidths ' в новое место копирует ширину столбов, чтоб как в оригинале Range("L2").PasteSpecial Paste:=xlPasteAllUsingSourceTheme ' в новое место копирует содержимое с сохранением формата оригинала Application.CutCopyMode = False ' это чтобы снять выделение
' а теперь тоже самое с окончанием строки Range("E2:H2").Copy Range("N2").PasteSpecial Paste:=xlPasteColumnWidths Range("N2").PasteSpecial Paste:=xlPasteAllUsingSourceTheme Application.CutCopyMode = False
[/vba]
[p.s.]И все равно не понимаю, зачем так заморачиваться, когда есть готовая таблица и нужно всего-то сделать ее копию без двух столбов. Затем фильтром отбираются строки, у которых период = 6 и делается их копия. А новые даты для этих копий можно получить например так =ДАТАМЕС(G16;6)-1[/p.s.]
как копировать определенные столбцы/строки из одной таблицы в другую, не соображу
В таких случаях пользуйтесь макрорекордером. Он есть в любой версии Excel.
[vba]
Код
' копируем начало строки Range("A2:B2").Copy ' копирует указанный диапазон Range("L2").PasteSpecial Paste:=xlPasteColumnWidths ' в новое место копирует ширину столбов, чтоб как в оригинале Range("L2").PasteSpecial Paste:=xlPasteAllUsingSourceTheme ' в новое место копирует содержимое с сохранением формата оригинала Application.CutCopyMode = False ' это чтобы снять выделение
' а теперь тоже самое с окончанием строки Range("E2:H2").Copy Range("N2").PasteSpecial Paste:=xlPasteColumnWidths Range("N2").PasteSpecial Paste:=xlPasteAllUsingSourceTheme Application.CutCopyMode = False
[/vba]
[p.s.]И все равно не понимаю, зачем так заморачиваться, когда есть готовая таблица и нужно всего-то сделать ее копию без двух столбов. Затем фильтром отбираются строки, у которых период = 6 и делается их копия. А новые даты для этих копий можно получить например так =ДАТАМЕС(G16;6)-1[/p.s.]CaramelManiac
Сообщение отредактировал CaramelManiac - Воскресенье, 08.11.2020, 11:29