我对编码非常陌生,最近参加了一些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
答案 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