【发布时间】:2014-07-08 01:31:31
【问题描述】:
这里相对较新..我正在使用 Excel VBA 宏并设法解决了我的大部分问题,但我被一个特定的部分卡住了。
我想计算各行之间的差异。
想象一个数据集在第 1、2、3 列中有 a、b、c、d、e 行和数值。我想计算 a1 和 (b1, c1, d1, e1) 之间的差异和b1 和 (c1, d1, e1) 之间的差异以及 c1 和 (d1, e1) 之间的差异以及 d1 和 e1 之间的差异。第 2 列和第 3 列也是如此。
我设法让它针对第 1 列中的所有其他行运行 a1,但我无法弄清楚第 1 列中其他比较的循环以及跳转到第 2 列和第 3 列。
希望有人能帮忙!
非常感谢!
史蒂夫
Sub nABCXX()
Dim lastcol As Integer
lastcol = Cells(4, Columns.Count - 3).End(xlToLeft).Column
For x = 4 To Cells(Rows.Count, 3).End(xlUp).Row
For j = 3 To Cells(3, Columns.Count - 3).End(xlToLeft).Column
For I = 4 To Cells(Rows.Count, 3).End(xlUp).Row
Cells(I + 1, j + lastcol + 5).Value = (Abs(Cells(x, j) - Cells(I + 1, j)))
Next I
Next j
Next x
结束子
我看到两个主要问题,首先,上面的语法计算了第 4 行和所有其他行之间的差异 - 不完全是我想要的。 但我想计算的是我表中所有行之间的差异。一列就足够了,但逐列是理想的。
固定计算的列之间的跳转(仅第 4 行)工作得很好。但是当我有多行比较和多列时该怎么做呢?
感谢您的帮助! 史蒂夫
【问题讨论】:
-
您好,欢迎您。发布您当前拥有的内容,并具体确定其中的哪些部分缺少或不工作。相应地修改问题,因为它是题外话。
-
显示您当前拥有的内容,我们将为您指明方向。这是考虑受计数器限制的循环的一个很好的练习。
-
感谢您的反馈,我在上面添加了代码!