在VBA中将.Cells(i,j)调用到.formula中

时间:2017-06-28 16:25:19

标签: excel-vba vba excel

您好我想使用.cells(i,j)将单元格调用到.formula

我的宏此刻将值/公式打印到一个单元格数组中。 它适用于值,但我很难插入一个不会返回错误的公式。

这是相关的代码行

Sheets("Stats").Cells(j, i).Formula = SUM(Sheets("Stats").Cells(1, i),Sheets("Stats").Cells(1, i), A3)

这是一个简单的替代方法,基本上我希望能够在同一个公式中同时使用.cells调用和字母数字调用。

非常感谢

2 个答案:

答案 0 :(得分:0)

当使用.Formula时,它需要一个字符串,它必须采用与没有VBA(包括开头的“=”)将其输入单元格本身相同的方式进行格式化。试试

a = [1, 3, -1, -3, 5, 3, 6, 7]

答案 1 :(得分:0)

您可以在案例中使用With语句可以简化很多:

With Sheets("Stats")    
    .Cells(j, i).Formula = "=Sum(" & .Cells(1, i).Address & "," & .Cells(1, i).Address & ", A3)"
End With

注意:无论何时尝试调试您的公式是否正确,请使用Debug.Print

在您的情况下,如果您放置i = 2,并且低于此代码:

With Sheets("Stats")
    Debug.Print "=Sum(" & .Cells(1, i).Address & "," & .Cells(1, i).Address & ", A3)"

您将在即时窗口中显示以下公式:

=Sum($B$1,$B$1, A3)