首页 > 解决方案 > 通过数组复制和粘贴列

问题描述

复制并粘贴列A2:AB2:Afrom Sheet1to Sheet6,我的代码工作正常。

当代码粘贴数据时,它开始粘贴表单A1B1我想将数据表单粘贴到A2Sheet6B2中。

Dim ColumnAarray() As Variant
Dim my_Arange As Range
LastRow = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row
Set my_Arange = Sheet1.Range("A2:B" & LastRow)
ReDim ColumnAarray(LastRow)
ColumnAarray = my_Arange
For i = LBound(ColumnAarray) To UBound(ColumnAarray)
    Sheet6.Range("A" & i) = ColumnAarray(i, 1)
    Sheet6.Range("B" & i) = ColumnAarray(i, 2)
Next i

我只想粘贴 row2 中的数据。

标签: excelvba

解决方案


你不需要循环来做到这一点

Dim LastRow As Long
LastRow = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row

Dim ColumnAarray() As Variant
ColumnAarray = Sheet1.Range("A2:B" & LastRow).Value
Sheet6.Range("A2:B" & LastRow).Value = ColumnAarray

实际上你甚至不需要一个数组

Dim LastRow As Long
LastRow = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row

Sheet6.Range("A2:B" & LastRow).Value = Sheet1.Range("A2:B" & LastRow).Value

推荐阅读