将范围分配给数组并将数据粘贴到数组

时间:2017-09-27 13:38:45

标签: arrays excel vba

我对编码非常陌生,最近参加了一些VBA的初学者培训。我开始学习数组并且正在考虑为它分配一个范围并在我的excel函数中使用这个数组(复制粘贴)如下所示..我确定这不是正确的方法,因为我的范围错误...

Dim lastrow As String
Dim Myarr As Variant

lastrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row

Myarr = ActiveSheet.Range("S6, U6, W6")
Range("D6").Select
Selection.Copy
Range(Myarr & lastrow).Select
Selection.PasteSpecial xlPasteFormats

1 个答案:

答案 0 :(得分:0)

您需要将范围加载为字符串:

  

"S6:S"

由于&连接一个字符串。所以Lastrow成为头号人员需要包含S为结束单元格。

同时避免使用.Select会降低代码速度。

您还需要遍历数组。它不会像一枪一样。

Dim lastrow As String
Dim Myarr() As Variant
Dim str As Variant
lastrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row

Myarr = Array("S6:S", "U6:U", "W6:W")
Range("D6").Copy
For Each str In Myarr
    Range(str & lastrow).PasteSpecial xlPasteFormats
Next str