Здравствуйте. Прошу помощи, так пока еще не изучил язык VBА, а совет спеца очень нужен.
Есть макрос который копирует строку и вставляет ее ниже в определенном кол-ве .
Т.е. есть строка с данными по товару, в ячейrе F2 стоит кол-во этого товара в заказе, например "3", ниже строкой идут другие товары с другим кол-вом. Макрос начинает делать дубликаты по всем строкам начиная с верхней ячейки по кол-ву указанному в столбце F.
После того как макрос выполнен, кол-во товара не обнуляется. Т.е при добавлении новых позиций и использовании макроса - уже созданные ранее дубликаты будут повторно сгенерированы, что уже не нужно.
Вот сам макрос:
Есть макрос который копирует строку и вставляет ее ниже в определенном кол-ве .
Т.е. есть строка с данными по товару, в ячейrе F2 стоит кол-во этого товара в заказе, например "3", ниже строкой идут другие товары с другим кол-вом. Макрос начинает делать дубликаты по всем строкам начиная с верхней ячейки по кол-ву указанному в столбце F.
После того как макрос выполнен, кол-во товара не обнуляется. Т.е при добавлении новых позиций и использовании макроса - уже созданные ранее дубликаты будут повторно сгенерированы, что уже не нужно.
Вот сам макрос:
Код |
---|
Sub Duplicate_Rows() Dim cell As Range Set cell = Range("F2") 'первая ячейка в столбце с кол-вом билетов Do While Not IsEmpty(cell) If cell > 1 Then cell.Offset(1, 0).Resize(cell.Value - 1, 1).EntireRow.Insert 'вставляем N пустых строк cell.Resize(cell.Value, 1).EntireRow.FillDown 'заполняем вниз из первых ячеек End If Set cell = cell.Offset(cell.Value, 0) Loop End Sub |