从列的末尾使用“更改范围”值,并在excel vba下一列的公式中使用该值

从列的末尾使用“更改范围”值,并在excel vba下一列的公式中使用该值,vba,excel,Vba,Excel,虽然我可以轻松地在静态工作表中创建必要的公式,但我希望能够在VBA中为我的客户创建此公式,其中Q列中的总值将从Q41移动到Q100等。。。我知道如何使用以下选项选择值: Range("Q1").End(xlDown).Offset(0, 0).Select 但是,我想知道R1单元格中我希望键入公式的正确语法。目前,它正在计算总计所在的列,并表示为: ActiveCell.FormulaR1C1 = "=RC[-1]/R[40]C[-1]" 但是,如果总数位于不同的行号上,则这将没有用处。 随

虽然我可以轻松地在静态工作表中创建必要的公式,但我希望能够在VBA中为我的客户创建此公式,其中Q列中的总值将从Q41移动到Q100等。。。我知道如何使用以下选项选择值:

Range("Q1").End(xlDown).Offset(0, 0).Select
但是,我想知道R1单元格中我希望键入公式的正确语法。目前,它正在计算总计所在的列,并表示为:

ActiveCell.FormulaR1C1 = "=RC[-1]/R[40]C[-1]"
但是,如果总数位于不同的行号上,则这将没有用处。 随函附上电子表格中的一个片段,其中显示了手动公式,以演示我所追求的目标

使用:

With Range("Q1", Range("Q1").End(xlDown)).Offset(0, 1)
    .Resize(.Rows.Count - 1).Formula = "=RC[-1]/R" & .Cells(.Rows.Count).Row & "C[-1]"
End With

我想我需要仔细阅读调整大小和行。计数属性。您的代码有效。我修改了您的代码(见下文)以在第9列找到另一个总数(即-10),并使用了您的Row.Count方法。但是,该总数位于第43行,因此我在该列中添加了+3以使其有效。但我在想,如果总数移到第44行…第45行,那么这是怎么回事`使用Range(“R1”,Range(“R1”).End(xlDown)).Offset(0,1)”动态查找总计并输入公式。调整大小(.Rows.Count)。公式=“=RC[-1]*R”&单元格(.Rows.Count+3)。行和“C[-10]”以结尾