Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Дублирование данных строки в зависимости от данных

Автор slava_573, 14.02.2016, 02:00

« назад - далее »

slava_573

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

можно ли такое реализовать? сейчас делаю в ручную но уже глаза болят. здесь почти 12к строк.

kuklp

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
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

slava_573


slava_573

конечно наглость.
спрошу пошлете так пошлете)
но можно ли сделать как-то нумерацию по порядку.
к примеру если парадных 6. чтобы проставило на листе - 3
парадные 1,2,3,4,5,6 ?

zs

Со второй строки для текста:
=ЕСЛИ(СЧЁТЕСЛИ($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)

slava_573

Простите не понял)
это нужно вставить в макрос?

zs


slava_573

я так понял это не в макрос добавить а в сам файл на лист 3 после формирования данных ?