Excel VBA中自动筛选的dynamic嵌套循环

我有一个程序设置吐出一个特定的总结。 现在我想采取该程序,并允许它接受用户input的范围。 我已经把它降到了2级,但是在概念上难以走得更远,尽pipe我正在使用3D数组来存储这些值。

远离我的工作电脑,但它的东西,

Dim array1(3) As String 'Fill it with some values like Group1, Group2, Group3... Dim array2(4) As String 'Again the next level with some values like NY, PA,..., Total Dim arVal(3,5,4) as Long 'For each Group 1, it will summarize 5 fields for each item in arr2 For i = LBound(array1) To UBound(array1) Autofilter based on array1 For j = LBound(array2) to UBound(array2) If Not j = 4 Autofilter based on array2 EndIf arVal(i, 0, j) = Value arVal(i, 1, j) = Value ... Next j Next i 

我有一个想法是使用链接列表,其中将有第一个列表,其中每个后续列表将链接到列表中的每个节点。 唯一的问题是我只从概念上了解C ++中的链表,所以这可能是一个解决scheme,我不知道如何在VBA中实现这一点。

加成:

array1 = {Group 1,Group 2,… Total}
array2 = {东北,西,东南….}
arVal(1,1,1)=对于东北地区组1中的所有人,购买的土豆总数(值1)
arVal(1,1,2)=对于东北地区组1中的所有人,唯一的人数(值2)

然后继续

arVal(1,2,1)=对于西部地区组1中的所有人,马铃薯总数….
等等,这样对于每个小组,我想总结一下这个小组内的每个地区。

如果我想在区域下dynamic添加更多的子类别,就会出现问题。

所以我想主要的问题是如果给一个整数,创build一个嵌套的循环等于该整数,使:

 If i = 2 { For Each item in Group For Each item in Regions some function } If i = 3 { For Each item in Group For Each item in Regions For Each item in NextSubcategory some function } 

尽pipe我可以限制子类的数量并使用switch语句,但是程序在dynamic的情况下会更加健壮。 加上即将发生的动脉瘤,如果我尝试使用multidimensional array来存储值。

关于VBA中链接列表的话题,这可能对你有用。

http://www.cpearson.com/excel/classes.aspx

然后,您可以按照您在C ++中使用的方法来使用VBA类创build链接列表。

编辑:这也可能有助于链接