VBA 从固定数字中减去一个可变数字(动态)的宏
VBA macro to subtract one variable number (dynamic) from a fixed number
我正在寻找一个动态宏,该宏从 B2 开始减去 C2 中的数字并将它们放入 D2 中。
C2 以后的数字是固定的,尽管用户会把数字放在 B2 以后。 C 列(收费小时数)的长度根据导入的 sheet 而变化。代码如下:
Dim O As Long
O = Cells(Rows.Count, "C").End(xlUp).Row
Cells(O + 1, "C").Formula = "=SUM(C2:C" & O & ")"
Cells(O + 1, "C").Interior.Color = RGB(208, 247, 197)
Cells(O + 1, "C").Font.Bold = True
sheet 看起来像这样(第一列是 B,最后一列是 D):
Hours Budgeted | Hours Charged | Variance
0 | 85 | 0
0 | 31 | 0
0 | 20 | 0
0 | 100 | 0
0 | 75 | 0
总而言之,当用户在预算小时数 (B) 列中输入一个值时,我希望它自动从收费小时数 (C) 列中减去并显示在差异 (D) 列中。
这不能只是 '=C2-B2' 的原因是因为我有一个宏输入所有这些数据,以及一个单独的宏 'Resets' sheet (删除所有数据和公式)。
谢谢大家,
杰克.
下面的代码应该可以解决问题,只需将其添加到您发布的代码之后即可。
For i = 2 To O
Cells(i, "D").FormulaR1C1 = "=RC[-1]-RC[-2]"
Next i
FormulaR1C1 允许您插入相对于要将公式放入的单元格的单元格引用,因此 R[2]C[3] 将插入对单元格的引用向下三行向右三列.
我正在寻找一个动态宏,该宏从 B2 开始减去 C2 中的数字并将它们放入 D2 中。 C2 以后的数字是固定的,尽管用户会把数字放在 B2 以后。 C 列(收费小时数)的长度根据导入的 sheet 而变化。代码如下:
Dim O As Long
O = Cells(Rows.Count, "C").End(xlUp).Row
Cells(O + 1, "C").Formula = "=SUM(C2:C" & O & ")"
Cells(O + 1, "C").Interior.Color = RGB(208, 247, 197)
Cells(O + 1, "C").Font.Bold = True
sheet 看起来像这样(第一列是 B,最后一列是 D):
Hours Budgeted | Hours Charged | Variance
0 | 85 | 0
0 | 31 | 0
0 | 20 | 0
0 | 100 | 0
0 | 75 | 0
总而言之,当用户在预算小时数 (B) 列中输入一个值时,我希望它自动从收费小时数 (C) 列中减去并显示在差异 (D) 列中。 这不能只是 '=C2-B2' 的原因是因为我有一个宏输入所有这些数据,以及一个单独的宏 'Resets' sheet (删除所有数据和公式)。
谢谢大家, 杰克.
下面的代码应该可以解决问题,只需将其添加到您发布的代码之后即可。
For i = 2 To O
Cells(i, "D").FormulaR1C1 = "=RC[-1]-RC[-2]"
Next i
FormulaR1C1 允许您插入相对于要将公式放入的单元格的单元格引用,因此 R[2]C[3] 将插入对单元格的引用向下三行向右三列.