как продублировать строку n раз по столбцу? - PullRequest
0 голосов
/ 09 июля 2019

мой начальник просит меня каждый месяц генерировать отчет о сотрудниках.Затем он просит меня дублировать строки в том же количестве билетов.Я понимаю, что это не очень интуитивно понятно, но это то, что он просит.файл, который я генерирую, выглядит следующим образом

Сотрудник |Количество билетовemp1 |2emp2 |4emp3 |1

способ вывода должен быть следующим:

emp1 |2emp1 |2emp2 |4emp2 |4emp2 |4emp2 |4emp3 |1конечно, для небольших чисел я могу просто скопировать и вставить строки в количестве билетов, но билетов больше 100, что занимает много времени, чтобы скопировать прошлое вручную.Есть ли способ запустить скрипт, который автоматически дублирует строки на основе заявок?

1 Ответ

0 голосов
/ 09 июля 2019

Я нашел скрипт, используя этот https://www.extendoffice.com/documents/excel/4054-excel-duplicate-rows-based-on-cell-value.html

Sub CopyData()
'Updateby Extendoffice 20160922
    Dim xRow As Long
    Dim VInSertNum As Variant
    xRow = 1
    Application.ScreenUpdating = False
    Do While (Cells(xRow, "A") <> "")
        VInSertNum = Cells(xRow, "D")
        If ((VInSertNum > 1) And IsNumeric(VInSertNum)) Then
           Range(Cells(xRow, "A"), Cells(xRow, "D")).Copy
           Range(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "D")).Select
           Selection.Insert Shift:=xlDown
           xRow = xRow + VInSertNum - 1
        End If
        xRow = xRow + 1
    Loop
    Application.ScreenUpdating = False
End Sub

все, что мне было нужно, это заменить букву «D» на колонку с количеством билетов, и это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...