如何迭代多个数组以不同的数组大小动态计算函数?

时间:2017-02-14 11:27:47

标签: arrays excel vba excel-vba

我想列出有时间限制的项目,因此我为项目(s1)创建了一个数组,为时间创建了另一个数组(s5)。

它们是多个函数引用的两个验证列表,我希望我的代码遍历这两个验证列表,并在单独的工作表中列出这些函数返回的值。

对于数组s1中的每个项,代码应该运行t次,但是它只对数组s1中的一个项运行t次。

时间数组(s5)是用户在弹出输入框时输入的范围的结果。两个数组的大小不同。 s1数组项来自一系列单元格。

在实践中,我希望在单独的工作表中查看不同日期的个别KPI。

由于循环位中的函数数量,下面的代码只是一个片段。您的建议表示赞赏。

    For t = LBound(s5) To UBound(s5)

            For j = LBound(s1) To UBound(s1)
                 .Range("F1").Value = s5(t)
                 .Range("B2").Value = s1(j)
                    wk3.Cells(lastrow + 1, 1).Offset(t).Value = Format(DateAdd("d", -1, Now()), "dd/mm/yyyy")
                    .Range("B1").Copy
                    wk3.Cells(lastrow + 1, 2).Offset(t).PasteSpecial Paste:=xlPasteValues
                    .Range("B2").Copy
                    wk3.Cells(lastrow + 1, 4).Offset(t).PasteSpecial Paste:=xlPasteValues
                     .Range("C7").Formula="VLOOKUP(B2&F1,loginlogout!A1:K100,9,0)"
                    .Range("C7").Copy
                    wk3.Cells(lastrow + 1, 15).Offset(t).PasteSpecial Paste:=xlPasteValues


            Next j
    Next t

附件是我想要完成的。也就是说,第1天,第2天,第3天的个人1,第1天,第2天,第3天的个人2 ......

enter image description here

0 个答案:

没有答案