excel vba |更改循环中的绝对单元格

excel vba |更改循环中的绝对单元格,vba,excel,Vba,Excel,你好 如何更改循环中的公式绝对单元格? 假设我有link=ref$C$2*4,如何在循环中下一次运行时下移1行=ref$C$3*4?我需要拆分它并添加计数器吗?还是有更简单的方法 示例代码 Dim cycle As Range For Each cycle In Sheets("ref").Range("A2:A4") ... Range("D2").Select ActiveCell.FormulaR1C1 = "=ref!R2C2" + "*4" Select

你好

如何更改循环中的公式绝对单元格? 假设我有link
=ref$C$2*4
,如何在循环中下一次运行时下移1行
=ref$C$3*4
?我需要拆分它并添加计数器吗?还是有更简单的方法

示例代码

Dim cycle As Range
For Each cycle In Sheets("ref").Range("A2:A4")
    ...
    Range("D2").Select
    ActiveCell.FormulaR1C1 = "=ref!R2C2" + "*4"
    Selection.AutoFill Destination:=Range("D2:D3")
    ...
End Sub
另外,我很好奇如何在VBA中添加数学公式,比如=(С4+B4)/LOG10(A4)+12,使用引号根本没有帮助:使用公式而不是公式1c1

请注意,参数将在填充中自动调整:


关于日志数学公式-
Debug.Print math.log(10)
甚至更好-检查完美!我如何在公式C4、B4和A4中更改为它们下面的一行@花环-student@J请参见答案中的图片…………该公式在填充过程中自动调整。@garys student我的错,我想将其应用于我的示例w/absolute cell=ref$C$2*4或更好这个=(С$4+B$4)/LOG10($A$4)+12。从一开始就可以看出,对于图纸(“参考”)范围(“A2:A4”)中的每个循环,循环中有3个值,因此将有3次运行。我要做的是,每次运行时,自动将绝对单元格向下移动一行或向左移动一列或任何位置。
Sub dural()
    With Range("D2")
        .Formula = "=(C4+B4)/LOG10(A4) + 12"
        .AutoFill Destination:=Range("D2:D3")
    End With
End Sub