Добрый день, уважаемые форумчане! Задача следующая, есть условные данные, в столбце D стоит дата формата; ДД.ММ.ГГГГ (число всегда 01, т е 01.02.2020, 01.05.2019 и тд), Нужно разбить все данные по кварталам, для этого были созданы 4 листа (Квартал1, Квартал2 и т д) Можно ли написать макрос который будет определять к какому кварталу относится та или иная дата, выделять ВСЮ строку, и вставлять её в соответствующий лист, и так до тех пор пока данные не закончатся. Пытался что то написать сам, но не пашет, может кто подскажет. Заранее благодарю!
[vba]
Код
Sub М2() Dim R As Long Range("D:D").Select If R = "2020.01.01" Or R = "2020.02.01" Or R = "2020.03.01" Or R = "2019.01.01" Or R = "2019.02.01" Or R = "2019.03.01" Then Rows(r).Select Selection.Cut Sheets("Квартал1").Select ActiveSheet.Paste End Sub
[/vba]
Добрый день, уважаемые форумчане! Задача следующая, есть условные данные, в столбце D стоит дата формата; ДД.ММ.ГГГГ (число всегда 01, т е 01.02.2020, 01.05.2019 и тд), Нужно разбить все данные по кварталам, для этого были созданы 4 листа (Квартал1, Квартал2 и т д) Можно ли написать макрос который будет определять к какому кварталу относится та или иная дата, выделять ВСЮ строку, и вставлять её в соответствующий лист, и так до тех пор пока данные не закончатся. Пытался что то написать сам, но не пашет, может кто подскажет. Заранее благодарю!
[vba]
Код
Sub М2() Dim R As Long Range("D:D").Select If R = "2020.01.01" Or R = "2020.02.01" Or R = "2020.03.01" Or R = "2019.01.01" Or R = "2019.02.01" Or R = "2019.03.01" Then Rows(r).Select Selection.Cut Sheets("Квартал1").Select ActiveSheet.Paste End Sub
Serge_007, я пытался, слишком сложно для меня, выбрал более топорный но зато понятный вариант, тут вопрос в основном в том как заставить программу раскидывать данные по листам, что бы они друг на друга не наезжали....
Serge_007, я пытался, слишком сложно для меня, выбрал более топорный но зато понятный вариант, тут вопрос в основном в том как заставить программу раскидывать данные по листам, что бы они друг на друга не наезжали....kravtsoffegor97
Нужен счетчик LastRow на каждом из листов по столбцу, который заведомо будет заполнен: [vba]
Код
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
[/vba]
Определяете в исходнике построчно по дате номер квартала (DatePart) и в зависимости от него копируете данные на соответствующие листы накопительным итогом (LastRow)
Нужен счетчик LastRow на каждом из листов по столбцу, который заведомо будет заполнен: [vba]
Код
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
[/vba]
Определяете в исходнике построчно по дате номер квартала (DatePart) и в зависимости от него копируете данные на соответствующие листы накопительным итогом (LastRow)Serge_007