Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: slava_573 от 14.02.2016, 02:00

Название: Дублирование данных строки в зависимости от данных
Отправлено: slava_573 от 14.02.2016, 02:00
Помогите пожалуйста. Уже глаза выпадаю)
есть данные как в примере.
на листе №1
список улиц и данные о адресе.
необходимо на лист №2 перенести данные и сделать дубликаты в зависимости от количества подъездов.
к примеру
B2 - нет данных о количестве подъездов - нужно перенести также как есть но добавить количество подъездов "1"
B3 - есть данные что здесь 1-н подъезд - нужно перенести все точно также на лист №2 после данных с B2
B4 - также как и B2
B5 - есть данные что здесь 2 подъезда - нужно перенести на лист №2 - 2 раза.
B6 - написано что "0" подъездов но нужно все же перенести 1-н раз с такими данными как есть
B7 - есть данные о подъездах - нужно перенести 3 раза

можно ли такое реализовать? сейчас делаю в ручную но уже глаза болят. здесь почти 12к строк.
Название: Re: Дублирование данных строки в зависимости от данных
Отправлено: kuklp от 14.02.2016, 08:03
Public Sub www()
    Dim lr&, i&, j&
    With Sheets("Лист3")
        .UsedRange.Offset(1).ClearContents
        Me.UsedRange.Offset(1).Copy .[a2]
        lr = .[a65536].End(xlUp).Row
        For i = lr To 2 Step -1
            If .Cells(i, 6).Value > 1 Then
                .Rows(i + 1).Resize(.Cells(i, 6).Value - 1).Insert
                For j = 1 To .Cells(i, 6).Value - 1
                    .Cells(i, 1).Resize(, 6).Copy .Cells(i + j, 1)
                Next
            End If
        Next
        .Activate
    End With
End Sub
Название: Re: Дублирование данных строки в зависимости от данных
Отправлено: slava_573 от 15.02.2016, 14:08
супер)) спасибо
Название: Re: Дублирование данных строки в зависимости от данных
Отправлено: slava_573 от 15.02.2016, 14:09
конечно наглость.
спрошу пошлете так пошлете)
но можно ли сделать как-то нумерацию по порядку.
к примеру если парадных 6. чтобы проставило на листе - 3
парадные 1,2,3,4,5,6 ?
Название: Re: Дублирование данных строки в зависимости от данных
Отправлено: zs от 15.02.2016, 19:45
Со второй строки для текста:
=ЕСЛИ(СЧЁТЕСЛИ($G$1:G1;G1)<ИНДЕКС($A$1:$C$3;ПОИСКПОЗ(G1;$A$1:$A$3;0);3);G1;ИНДЕКС($A$1:$A$3;ПОИСКПОЗ(G1;$A$1:$A$3;0)+1;1))
С первой строки для нумерации парадных:
СЧЁТЕСЛИ($G$1:G1;G1)
Название: Re: Дублирование данных строки в зависимости от данных
Отправлено: slava_573 от 16.02.2016, 12:36
Простите не понял)
это нужно вставить в макрос?
Название: Re: Дублирование данных строки в зависимости от данных
Отправлено: zs от 16.02.2016, 18:06
вместо и/или вместе
Название: Re: Дублирование данных строки в зависимости от данных
Отправлено: slava_573 от 16.02.2016, 18:37
я так понял это не в макрос добавить а в сам файл на лист 3 после формирования данных ?