Дублирование строк на другом листе - PullRequest
0 голосов
/ 14 февраля 2020

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

Итак, на моем первом листе я используйте формулу, чтобы определить количество необходимых измерений.

Мне нужна кнопка для копирования предварительно сконфигурированной строки (строки 6) на разных листах («Линии 1» и «Линии 2») количество раз в ячейке (G9) плюс 1 с первого листа («Настройка TI»).

И (строка 6) на разных листах («Строки 3», «Строки 5» и «Строки 8») количество раз в ячейке (F9) минус 1 от первый лист («Настройка TI»).

И наконец (строка 6) на разных листах («Строки 4», «Строки 6» и «Строки 7») количество раз в ячейке (D9) минус 1 на первом листе («Настройка TI»).

Надеюсь, этого достаточно, я медленно учу себя делать более сложные вещи в Excel, но этот ускользает от меня.

Я наконец нашел способ начать ..

    Private Sub CommandButton1_Click()
    End Sub
    Public Sub CopyData()

    ' This routing will copy rows based on the quantity to a new sheet.
    Dim rngSinglecell As Range
    Dim rngQuantityCells As Range
    Dim intCount As Integer

    ' Set this for the range where the Quantity column exists. This works only if there are no empty cells
    Set rngQuantityCells = Range("G9", Range("G9").End(xlDown))

    For Each rngSinglecell In rngQuantityCells

    ' Check if this cell actually contains a number and if the number is greater than 0
    If IsNumeric(rngSinglecell.Value) And rngSinglecell.Value > 0 Then

    ' Copy this row as many rows as .value and 25 columns (because A:Y is 25 columns)
    Sheets("Line 1").Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(rngSinglecell.Value, 25).Value = _
        Range(Range("A" & rngSinglecell.Row), Range("Y" & rngSinglecell.Row)).Value

    ' Copy this row as many rows as .value and 25 columns (because A:Y is 25 columns)
    Sheets("Line 2").Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(rngSinglecell.Value, 25).Value = _
        Range(Range("A" & rngSinglecell.Row), Range("Y" & rngSinglecell.Row)).Value

        End If
    Next


    End Sub

Это работает по большей части, но мне нужно выяснить, как сказать ему скопировать ячейки с правильного листа.

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