Excel VBA数组到非连续的命名范围

我试图从数组中获取数据到一个非连续的命名区域。 我不断的结束与数据的第一个单元格是所有命名的范围单元格。 我想我伤害了我的大脑。 我正在看我的代码,甚至不知道为什么我写了,所以我只是把这一部分。

我需要从A2:I2复制的数据,然后粘贴到命名范围“blah”(B2,D2,F2,B4,D4,F4,B6,D6,F6)

有人可以指出我正确的方向吗? 这实际上比这更复杂,但我似乎无法得到这部分工作。 感谢您的任何见解。

考虑这个例子:

Sub MoveData() Dim r1 As Range, r2 As Range, r As Range, _ indx As Long, ary() Set r1 = Range("A2:I2") Set r2 = Range("B2,D2,F2,B4,D4,F4,B6,D6,F6") r2.Name = "blah" ary = r1 indx = 1 For Each r In Range("blah") r.Value = ary(1, indx) indx = indx + 1 Next r End Sub 

在Excel单元格中有多种引用单元格的方法,这些方法是相对的,绝对的或半绝对的。 你有尝试过使用另一种风格。

要么

你可以在下一列= OFFSET($ a2,0,2 *(row() – 1))中使用这样的偏移函数)