我要算一个3年的增长率,原始公式是 PE croissance = (PE ratio / PE moyenne -1)^(1/3)
每次一运行就显示wsPEtx.Cells(i + 2, j + 1).Value = (wsPE.Cells(i + 2, j + 1).Value / wsPEm.Cells(i + 2, j + 1).Value - 1)^ (1 / 3)是无效的过程调用或参数
如果把^ (1 / 3)去掉,或者换成^ 2, 程序就可以运行
数据里面含有负数,但是负数也是可以开三次方根号的呀
实在不知道哪里出问题了,麻烦大家帮我看看
谢谢了!
这是我写的code
Option Explicit
Option Base 1
Sub CalTaux()
Dim wsPE As Worksheet, wsPEm, wsPEtx As Worksheet
Dim L As Integer, C As Integer, i As Integer, j As Integer
Set wsPE = ThisWorkbook.Worksheets("PE ratio")
Set wsPEm = ThisWorkbook.Worksheets("PE moyenne")
Set wsPEtx = ThisWorkbook.Worksheets("PE croissance")
For j = 1 To 10
For i = 1 To 10
If wsPEm.Cells(i + 2, j + 1).Value = 0 Then
wsPEtx.Cells(i + 2, j + 1).Value = 0
Else: wsPEtx.Cells(i + 2, j + 1).Value = (wsPE.Cells(i + 2, j + 1).Value / wsPEm.Cells(i + 2, j + 1).Value - 1) ^ (1 / 3)
End If
Next i
Next j
End Sub
附件列表