录制宏后如何更改代码?

时间:2019-03-10 15:51:42

标签: excel vba

我想使用“记录宏”选项轻松组织数据文件。 例如,我保存了一个宏,代码如下:

ActiveCell.FormulaR1C1 = "=SUM(VolumeDat!R[3]C[1]:R[23]C[0])"
Range("B2").Select

我也想在其他单元格的代码中使用它。然后我复制了它们,就可以了。

ActiveCell.FormulaR1C1 = "=SUM(VolumeDat!R[3]C[1]:R[23]C[0])"
Range("B2").Select
ActiveCell.FormulaR1C1 = "=SUM(VolumeDat!R[3]C[1]:R[22]C[1])"
Range("B3").Select

问题是由于“ ActiveCell”,它有时在错误的单元格中使用代码。我试图用单元号更改“ ActiveCell”,但无法实现。

1 个答案:

答案 0 :(得分:1)

您可能没有在此处发布足够的代码来为这种情况提供直接答案,但是让我们假设记录的代码如下:

 Range("B2").Select
 ActiveCell.FormulaR1C1 = "=SUM(VolumeDat!R[3]C[1]:R[23]C[0])"

然后您可以将其替换为

 Range("B2").FormulaR1C1 = "=SUM(VolumeDat!R[3]C[1]:R[23]C[0])"

但是,由于Range("B2")仍然是ActiveSheet.Range("B2")的快捷方式,我建议您先准备一些代码来确定正确的工作表,并为其分配一个变量sh,其类型为{ {1}},然后写

Worksheet

这将使您的代码在更改工作表上下文方面更强大。