Я новичок в VBA и могу обернуть голову вокруг наиболее эффективного способа сделать это - то, что я ищу, - это способ скопировать мои данные в строки под активной ячейкой на основе частоты.Excel 2007 VBA копирует строки x раз на основе текстового фильтра
Образец данных, как это:
Name Value Frequency Date
Steve 10 Annual 01/03/2012
Dave 25 Quarterly 01/03/2012
Sarah 10 Monthly 01/03/2012
Gavin 27 Quarterly 01/04/2012
И то, что я хотел бы сделать в этом случае для Sarah добавить во всех строках с шагом один месяц до марта 2013 года Это будет означать добавление в 12 строк, с апреля 2012 года по март 2013 года, с постоянным значением, значением и частотой.
Для Стива я хотел бы добавить в один ряд на март 2013 Для Дэйва я хотел бы добавить в 3 ряда (один раз в три месяца)
Если первая дата должны были быть 1 апреля 2012 вместо этого, и частота годовых. Я хотел бы добавить в ничто, как не существует другая дата до марта 2013 года
Для вышеуказанного образца на выходе будет:
Name Value Frequency Date
Steve 10 Annual 01/03/2012
Steve 10 Annual 01/03/2013
Dave 25 Quarterly 01/03/2012
Dave 25 Quarterly 01/07/2012
Dave 25 Quarterly 01/11/2012
Dave 25 Quarterly 01/03/2013
Sarah 10 Monthly 01/03/2012
Sarah 10 Monthly 01/04/2012
Sarah 10 Monthly 01/05/2012
Sarah 10 Monthly 01/06/2012
Sarah 10 Monthly 01/07/2012
Sarah 10 Monthly 01/08/2012
Sarah 10 Monthly 01/09/2012
Sarah 10 Monthly 01/10/2012
Sarah 10 Monthly 01/11/2012
Sarah 10 Monthly 01/12/2012
Sarah 10 Monthly 01/01/2013
Sarah 10 Monthly 01/02/2013
Sarah 10 Monthly 01/03/2013
Gavin 27 Quarterly 01/04/2012
Gavin 27 Quarterly 01/08/2012
Gavin 27 Quarterly 01/12/2012
Заранее спасибо!
не правда ежеквартально, раз в три месяца? – Wilhelm
Для меня это кошмар, нужный вам код не сложно. НО. Читаемость, практичность, макет и обслуживание сомнительны. Подумайте о том, как изменить свой дизайн, возможно, разбросать по нескольким листам и использовать одну таблицу необработанных данных и презентацию по другим (и). – Reafidy
@Wilhelm - абсолютно (написал это в конце долгого дня!) – Dibstar