每第2行的Excel宏代码增加1

时间:2015-02-13 04:50:46

标签: arrays excel vba loops

我有一个数字列表(超过100行)。我希望每组3行中的每个第二个数字从前一行增加1。

以3个为一组进行思考。给出第一个值。第二个值比第一个值高1,第三个值可以是任何值。此模式将继续用于下一个3.例如,如果行1 = 1,则行2 = 2(因为从前一行增加1)。第3行=任何#。第4行= 5,第5行= 6(因为从前一行增加1)。第6行=任何数字。第7行= 7,第8行= 8(因为1来自以前),第9行=任何。

我无法弄清楚如何循环这个。这就是我的尝试。

Sub DoSomething
  For ColNum = 4 To 500 Step 2
    Range(Cells(3, ColNum), Cells(1159, ColNum)).FormulaR1C1 = "='H2'+1"
  Next ColNum
End Sub 

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你可能需要像:

Sub test()

For i = 3 To 1159 Step 3

     Cells(i + 1, 1).FormulaR1C1 = "=R[-1]C+1"

Next i

End Sub

从第3行开始,直到第1159行,以3为一组,抓住下一个单元格并输入一个公式,将上面一行中单元格的值增加1。

以下是用于说明代码的屏幕截图。左边是之前,右边是之后。 B列已复制=Formulatext(A3)

以三人为一组思考,每组三人中的每一个细胞都按照公式进行处理。

enter image description here