Как скопировать ячейку в динамический диапазон столбцов - PullRequest
0 голосов
/ 27 марта 2019

У меня есть данные о большом количестве строк 200000+ и 20 столбцах или меньше, которые я хотел бы отобразить.Потому что такие большие графики становятся проблематичными.Я хотел бы скопировать каждую n-ую строку на новый лист и график с нового листа.

Я могу выполнить задачу, введя и перетащив формулу смещения. Я хотел бы выполнить эту же задачу динамически с кодом VBA.В этом коде я пытаюсь ввести формулу смещения в ячейку a1 листа sheet2 и скопировать формулу в диапазон, определенный диапазоном данных на sheet1.В последней строке выдается ошибка «метод автозаполнения класса диапазона не выполнен».

Sub copy_5()

Dim startCol As String
Dim startRow As Long
Dim lastRow As Long
Dim lastCol As Long
Dim myCol As String
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range

Set ws = ThisWorkbook.Sheets("sheet1")
startCol = "a"
startRow = 1
lastRow = ws.Range(startCol & ws.Rows.Count).End(xlUp).Row
lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
myCol = GetColumnLetter(lastCol)

Set rng = ws.Range(startCol & startRow & ":" & myCol & lastRow)

For Each cell In rng

Next cell


    With ActiveWorkbook
    .Sheets.Add(after:=.Sheets(.Sheets.Count)).Name = "sheet2"
    End With

    Range("a1").Value = ("=OFFSET(data!A1,(ROW()-1)*5,0)")

    Range("a1").AutoFill Destination:=Range(startCol & startRow & ":" & myCol & lastRow)


End Sub

Выдает ошибку

«метод автозаполнения класса диапазона не выполнен»

в последней строке.

Я бы хотел, чтобы оно заняло столько же столбцов в sheet2, сколько в sheet1.

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