Возможно, вы не разместили здесь достаточно кода, чтобы дать вам прямой ответ для этого случая, но давайте предположим, что записанный код выглядит следующим образом:
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
типа Worksheet
,и затем напишите
sh.Range("B2").FormulaR1C1 = "=SUM(VolumeDat!R[3]C[1]:R[23]C[0])"
Это сделает ваш код более устойчивым к изменению контекста листа.