【问题标题】:Excel macro code for every 2nd row to increase by 1Excel 宏代码每第 2 行加 1
【发布时间】:2015-02-13 04:50:45
【问题描述】:

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

以 3 人为一组进行思考。给出第一个值。第二个值比第一个值高 1,第三个值可以是任何值。这种模式在接下来的 3 中继续。例如,如果第 1 行 = 1,则第 2 行 = 2(因为从上一行增加 1)。第 3 行 = 任何 #。第 4 行 = 5,第 5 行 = 6(因为从上一行增加 1)。第 6 行 = 任意数字。第 7 行 = 7,第 8 行 = 8(因为 1 来自 orevious),第 9 行 = 任意。

我不知道如何循环。这是我尝试过的。

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

【问题讨论】:

  • 如果您的数据在行中,为什么要增加列?如果你想处理每三个单元格,你为什么要介入 2?

标签: arrays excel vba loops


【解决方案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) 复制下来。

三人一组思考,每三人一组中的第二个单元格被处理为公式。

【讨论】:

  • 谢谢!现在,这增加了第二个和第三个值。我如何只增加第二个值,并保持第三个值不变? :) 真的很感激这个
  • 你真的试过代码吗?你怎么能说它增加了第二个和第三个值?我会添加一些截图。
  • @pnuts 说真的,我认为应该由回答者来决定。
  • 您好,感谢您的参与。我只希望@Addie123 愿意关注并发表评论。
猜你喜欢
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多