Копирование диапазонов переменных и вставка на несколько вкладок - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть рабочая тетрадь, содержащая 51 лист. Рабочий лист 3 («Результаты») содержит все данные, которые мне нужны для анализа. Я хотел бы провести l oop через Рабочий лист 3 и скопировать 3 столбца одновременно, начиная с столбцов CT-CV. Затем CT-CV будет вставлен в «B1» Рабочего листа 4. Затем макрос будет l oop вернуться на Рабочий лист 3, скопировать CW-CZ и вставить в «B1» Рабочего листа 5. Этот l oop будет продолжаться до все 51 лист имеют данные (Go к столбцу IG на листе 3).

Я обнаружил множество макросов для go в обратном направлении (Скопируйте из нескольких таблиц в одну консолидированную), но нет таких, которые go из консолидированных данных, и проанализируйте их.

Большое спасибо!

1 Ответ

0 голосов
/ 24 апреля 2020

Один из способов сделать это - создать массив всех имен конечного листа, затем l oop этот массив выберет правильную группу из 3 совпадающих столбцов (т.е. начиная со столбцов 98, 101, 104 и т. Д.). на) из исходного листа. Кажется, что-то вроде этого работает:

Sub sCopyData()
    Dim aDest() As Variant
    Dim lngLoop As Long
    Dim strLeft As String
    Dim strRight As String
    aDest = Array("Data1", "Data2")
    For lngLoop = 0 To UBound(aDest)
        Sheets("Results").Select
        strLeft = Split(Cells(, 98 + (lngLoop * 3)).Address, "$")(1)
        strRight = Split(Cells(, 100 + (lngLoop * 3)).Address, "$")(1)
        Columns(strLeft & ":" & strRight).Select
        Selection.Copy
        Sheets(aDest(lngLoop)).Select
        Columns("B:B").Select
        ActiveSheet.Paste
    Next lngLoop
End Sub

С уважением,

...