Копировать диапазон из мастер-листа со всех листов - PullRequest
0 голосов
/ 10 января 2019

В моей рабочей книге 20 листов, и я хочу скопировать диапазон исправлений от L3 до L7 в мою мастер-таблицу. Диапазон моего источника, откуда я копирую, одинаков для всех листов, то есть от L3 до L7, но назначение - от b2 до f2, от b3 до f3, от b4 до f4 и так далее.

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

Sub test1()
    Dim x As Integer
    For x = 1 To Worksheets.count
        Cells(x, 1).Value = Worksheets(x).Name
        Worksheets("MasterSheet").Range("b2").Value = Worksheets(x).Name.Range("l3").Value
        Worksheets("MasterSheet").Range("c2").Value = Worksheets(x).Name.Range("l4").Value
        Worksheets("MasterSheet").Range("d2").Value = Worksheets(x).Name.Range("l5").Value
        Worksheets("MasterSheet").Range("e2").Value = Worksheets(x).Name.Range("l6").Value
        Worksheets("MasterSheet").Range("f2").Value = Worksheets(x).Name.Range("l7").Value
    Next x
End Sub

1 Ответ

0 голосов
/ 10 января 2019

Один из вариантов - использовать Offset для перемещения строки вниз для каждого последующего листа.

Примерно так:

Sub test1()
    Dim counter As Integer
    Dim ws As Worksheet, masterWS As Worksheet

    Set masterWS = Worksheets("MasterSheet")

    For Each ws In Worksheets
        If ws.Name <> "MasterSheet" Then
            counter = counter + 1
            masterWS.Range("A1").Offset(counter).Value = ws.Name
            masterWS.Range("B1:F1").Offset(counter).Value = Application.Transpose(ws.Range("L3:L7").Value)
        End If
    Next ws
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...