Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 将整行数据放入二维数组_Arrays_Excel_Vba - Fatal编程技术网

Arrays 将整行数据放入二维数组

Arrays 将整行数据放入二维数组,arrays,excel,vba,Arrays,Excel,Vba,我有一行在每次模拟时重新计算,我希望跟踪所有计算的值 目前,我使用循环中的复制/粘贴和偏移将每个模拟直接保存到电子表格中 我尝试切换此选项,以便在运行模型时,所有模拟结果都存储在二维vba数组中,而不是存储在图纸上,然后整个数组在末尾打印到excel。我在使用阵列方面没有什么经验,因此我的尝试是: Dim res() As Variant ReDim res (1 To nbSims, 1 To nbLoans) For i = 1 to nbSims ****Code for calc

我有一行在每次模拟时重新计算,我希望跟踪所有计算的值

目前,我使用循环中的复制/粘贴和偏移将每个模拟直接保存到电子表格中

我尝试切换此选项,以便在运行模型时,所有模拟结果都存储在二维vba数组中,而不是存储在图纸上,然后整个数组在末尾打印到excel。我在使用阵列方面没有什么经验,因此我的尝试是:

Dim res() As Variant
ReDim res (1 To nbSims, 1 To nbLoans)
For i = 1 to nbSims
    ****Code for calculations of each sim***
    res(i,@@@) = Range(cells("",""),Cells("","")).Value
Next i
通常情况下,如果我一次填充一个数组中的一个元素,我会使用res(I,j)并让它引用一个单元格,但在这里,我尝试一次获取整行结果并将其放入数组中。有什么建议吗


编辑:我想我已经确定我需要找出如何用一组数组填充一个数组,这可能吗?

您可以使用两个数组,并将它们与一个循环组合在一起;其中,数组1中的i被锁定,在数组1中的j(完整数组res())和数组2中的j(新的1D数组)之间循环

请注意,您需要将阵列重新分配到正确的大小,否则可能会丢失数据

这个问题类似于我最近问的一个问题:


如果您想查看。

您不能将范围保存为双精度。将数组的数据类型更改为
Variant
sub RowAdd()
dim i,j,k as long
dim res() as variant
dim arr() as variant
dim numcols as long 'number of items in the row you're adding

ReDim res (1 To nbSims, 1 To nbLoans)
ReDim arr(numcols)

for i=1 to nbSims

   arr=mysheet.range().value

   for j=1 to numCols

      res(i,j)=arr(j)
   next j
next i