将数组传输到多个范围
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
我一直在尝试解决一段我认为会非常简单的代码。 我已经定义了一个范围(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