调整范围大小,复制并粘贴新范围

时间:2019-03-26 20:50:23

标签: excel vba

我试图遍历Excel工作表的各行,选择一行数据作为范围,然后将其复制并粘贴到所需的工作表中。

我目前正在尝试下面的方法,该方法在.Resize()部分给出了错误。

With ws1
    For i = 2 To LastRow
        Set rng1 = .Range("A" & i).Resize(0, 16)
        rng1.Copy Destination:=wb1.Sheets(destination).Range("A" & lastRow2 + 1) 

第三行出现1004错误。我正在使用代码前面的复制/粘贴方法,所以我认为这是正确的。

我尝试使用:

Set rng1 = .Range("A" & i)
rng1.Resize(0, 16)

还有

Set rng1 = .Range("A" & i)
Set rng1 = rng1.Resize(0, 16)

但是我每次都会遇到相同的错误。我知道这可能是一个简单的语法问题,但是过去20分钟里我一直在网上寻找问题,无法弄清解决方案是什么。

我曾经考虑过尝试使用EntireRow方法,但是我却顽固地试图了解当前方法的错误之处。

谢谢!

1 个答案:

答案 0 :(得分:0)

对于每个YasserKhalil(和SJR),您无法将大小调整为零,因此只需忽略零并更改为Resize(, 16)