ActiveCell.Formula错误438'对象不支持'

时间:2015-11-28 04:18:59

标签: excel vba excel-vba

此代码应该计算在创建stock_returns的新工作表上从sheet1提供的股票的月回报。它将计算第一个框,然后根据变量j,k和l自动填充其余数据。但是,第一个activecell行的错误仍然存​​在,我不知道如何改变它。

'select stock names and paste to next sheet named monthly returns
Dim a As Integer
Dim j As Integer
Dim k As Integer

j = stocknum + 3
k = stocknum + 5
l = stocknum + stocknum + 5

Worksheets("stock_returns").Activate

ActiveCell.FormulaR3C2 = "=('Sheet1'!B9-'Sheet1'!B10)/'Sheet1'!B10"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:Bj" & Lastrow), Type:=xlFillDefault

Range("Bk").Value = Range("B2") - Range("Bj")
Range("Bk").Select
Selection.AutoFill Destination:=Range("Bk:Bl" & Lastrow), Type:=xlFillDefault

2 个答案:

答案 0 :(得分:0)

  

ActiveCell。 FormulaR3C2 =" =(' Sheet1'!B9 - ' Sheet1'!B10)/' Sheet1&#39 ;!B10"

没有.Range.FormulaR3C2 property,但有Range.FormulaR1C1 property。这是指提供的公式中使用的xlR1C1 Reference Style单元格寻址,但您在公式中使用xlA1样式。

改为使用Range.Formula property

ActiveCell.Formula = "=('Sheet1'!B9-'Sheet1'!B10)/'Sheet1'!B10"

或者Range.FormulaR1C1 property as,

ActiveCell.FormulaR1C1 = "=('Sheet1'!R9C2-'Sheet1'!R10C2)/'Sheet1'!R10C2"

答案 1 :(得分:0)

即使有@Jeeped建议的调整,我也不相信你的VBA会编译。我不确定你想要什么结果,但至少你应该从以下版本得到一些结果:

JInternalFrame