如何在动态列范围内复制单元格

时间:2019-03-27 19:47:18

标签: excel vba

我有大量要绘制的200000+行和20列以下的数据。因为它是如此之大,所以制图变得有问题。我想将第n行复制到新工作表并从新工作表绘制图形。

我可以通过输入和拖动偏移量公式来完成任务。我想使用VBA代码动态地执行相同的任务。在这段代码中,我尝试将偏移公式输入到sheet2的单元格a1中,并将该公式复制到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中相同的列数。

0 个答案:

没有答案