Excel VBA将数组数组中的整行粘贴到表

时间:2015-11-25 11:38:38

标签: arrays excel-vba vba excel

我有一个数组数组。其尺寸可以总结如下:
varZaznamyNove(0)(1到2,1到20),如图所示。

我想要整行并将该行的数据放入Excel表格中。例如:
Range(objListRowBytoveDomyNovy.Range(1, 1), objListRowBytoveDomyNovy.Range(1, 20)) = varZaznamyNove(0)(intPorovnavanyZaznamNovy)

当我尝试运行该行时,出现错误:

  

运行时错误9:下标超出范围。

如何将整个行从锯齿状数组中放入excel表中,而不将其遍历所有列?

使用的变量的大小如下:
objListRowBytoveDomyNovy as lisrow
intPorovnavanyZaznamNovy as integer
varZaznamyNove(0) as variant

注意:
当我在线的右侧添加第二个索引时,我没有收到错误,例如: Range(objListRowBytoveDomyNovy.Range(1, 1), objListRowBytoveDomyNovy.Range(1, 20)) = varZaznamyNove(0)(intPorovnavanyZaznamNovy,1)
但这只是第一列进入所有表列。这是不希望的。

数据示例如图所示。只是为了展示我的工作原理(虚拟数据)。

Example of the data

1 个答案:

答案 0 :(得分:1)

你可以这样做:

Range(objListRowBytoveDomyNovy.Range(1, 1), objListRowBytoveDomyNovy.Range(1, 20)).Value = Application.Index(varZaznamyNove(0), intPorovnavanyZaznamNovy, 0)