将数组传输到多个范围

Transferring an array to multiple ranges

我一直在尝试解决一段我认为会非常简单的代码。 我已经定义了一个范围(2 行,150 列)并将其传输到一个数组。然后我想在多个范围内使用定义的数组(相同大小的 2 行和 150 列)。我写了下面的代码:

Dim LocalArray As Variant
LocalArray = .Range("FD6781:KW6782").Value2
.Range("FD6839:KW6840,FD6955:KW6956,FD7013:KW7014,FD7071:KW7072").Value2 = LocalArray

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

谢谢!

你可以循环播放。否则,它似乎确实与导致问题的列数有关。好像很奇怪。

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