excel里VBA出现无效的过程调用或参数

来源:百度知道 编辑:UC知道 时间:2024/06/08 16:44:21
For i = 1 To 366
PE(i) = Cells(i + 2, 2)
Cells(i + 2, 6) = Cells(i + 1, 12) * Cells(i + 1, 5) / Cells(i + 2, 5)
Cells(i + 2, 7) = (1 - (1 - Cells(i + 2, 5)) ^ (1 / 1.5)) * 18
Cells(i + 2, 8) = (1 - (1 - Cells(i + 2, 5)) ^ (1 / 1.5)) * 45
S1(i) = Cells(i + 2, 6)
SMF(i) = Cells(i + 2, 7)
SMMF(i) = Cells(i + 2, 8)

AU(i) = SMMF(i) * (1 - (1 - S1(i) / SMF(i)) ^ (1 / 2.5))

If PE(i) <= 0 Then
Cells(i + 2, 9) = 0
Cells(i + 2, 10) = S1(i) * 0.4 * Cells(i + 2, 5)
Cells(i + 2, 11) = S1(i) * 0.3 * Cells(i + 2, 5)
Cells(i + 2, 12) = 0.3 * S1(i)
Else
If PE(i) + AU(i) < SMF(i) Then
Cells(i + 2, 9) = (PE(i) - SMF(i) + S1(i) + SMF(i) * (1 - (PE(i) + AU(i)) / SMMF(i)) ^ 2.5) * Cells(i + 2, 5)
Cells(i + 2, 10) = (SMF(i) - SMF(i) * (1 - (PE(i) + AU(i)) / SMMF(i)) ^ 2.5) * 0.4 * Cells(i + 2, 5)
Cells(i + 2, 11) = (SMF(i) - SMF(i) * (1 - (PE(i) + AU(i))

AU(i) = SMMF(i) * (1 - (1 - S1(i) / SMF(i)) ^ (1 / 2.5))
这里用到乘方^,当幂指数不为整数时,作为乘方运算的底数不能小于0,否则会出现你标题中提到的错误,检查一下吧

AU(i) = SMMF(i) * (1 - (1 - S1(i) / SMF(i)) ^ (1 / 2.5))
SMMF?还是SMF?
你仔细看下