在VBA中嵌套for循环

我正在Excel中进行一个项目,帮助校园里的俱乐部把钱分配给其他俱乐部。 无论如何,我正试图实施一个macros指定的button,让俱乐部生成一个新的表,总结事件的名称,以及资助的事件。

我目前所困扰的问题是在“总结”选项卡中列出的每个分会在此新表上分配12行数据。 我有公式,所以它循环浏览摘要选项卡并input俱乐部名称,但它不断地input这些名称到单元格A1-A12,而不是为下一个俱乐部增加12个新的行。

如果我的措辞令人困惑, 我想要俱乐部1的数据在A1-12,A13-24等俱乐部2。

我依靠嵌套for循环来尝试循环并创build这些行。 这是给我麻烦的部分:

For k = 0 To 200 Step 12 'J is used to get names off the 'summary' tab For j = 8 To Sheets.Count 'I is used to select cells 'a1' to 'a12' For i = 1 To 12 Range("A" & (k + i)).Select ActiveCell.Formula = ("=Summary!$A$" & j) Next i Next j Next k 

我确信我的问题在于j在k之前进一步提前,这意味着它将继续看到k为0,并在a1-a12中input新的俱乐部名称,而不是在j提前之前将其join。 每当我尝试插入接下来的j上面的下一个j,我都会报错。

这个嵌套for循环是凌乱的,并开始使我的大脑受到伤害,但我似乎无法find一个更好的方法来告诉Excel一次跳过12行。 如果任何人有任何关于如何以更简单的方式执行这个macros的意见或想法 – 让我知道:-)

试试这个代码。 在写公式之前,不需要select单元格。

 For j = 8 To Sheets.Count For i = 1 To 12 Range("A" & ((j - 8) * 12 + i)).Formula = ("=Summary!$A$" & j) Next i Next j