将数组转移到多个范围

时间:2018-11-01 12:54:29

标签: arrays vba variant

我陷入了试图解决一段我认为非常简单的代码的困境。 我定义了一个范围(2行,150列)并将其转移到数组中。然后,我想在多个范围(相同大小的2行和150列)中使用定义的数组。我已经编写了以下代码:

Button

问题在于,在.range(“ FD6839:KW6840,FD6955:KW6956 ...”)中定义的第二个范围显示为N / A。因此,范围FD6839:KW6840是正确的,而范围FD6955:KW6956是错误的。 我在上面的代码中做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以循环播放。否则,它似乎与引起问题的列数有关。似乎很奇怪。

Option Explicit
Public Sub test()
    Dim localArray(), rng As Range, ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet3")
    localArray = ws.Range("FD6781:KW6782").Value2

     For Each rng In ws.Range("FD6839, FD6955, FD7013, FD7071")
         rng.Resize(UBound(localArray, 1), UBound(localArray, 2)) = localArray
     Next

End Sub