谁能帮我把这个逻辑转为excel vba,追加100分..?

来源:百度知道 编辑:UC知道 时间:2024/05/28 17:42:07
逻辑如下:
M=A1:A10
a=C1
E=C2,
L=C3, L分为a,b=L-a两段
ΔL=C4,
i=0,1,2,.......,a,a+1,......L
i<=a时,M(i)=i/a*M
i>a时,M(i)=M
Q(i)=if(M(i)>B1,B2,B3)
∑φ(i) (从i=1到i=L)=[M(i-1) / (E*Q(i-1))+ M(i) / (E*Q(i))] / 2
将∑φ(i) 的值对应M返回到:D1:D10

看看这样是不是你的意思,我总感觉你里面的道L是什么意思,你不是只要10个吗?
Sub test()
Dim T, D As Variant

Dim Q As Variant
Dim a, E, L As Integer
Dim sumM() As Variant
Dim M() As Double
Dim rangSum As Variant
Set T = Range("A1:A10")
Set D = Range("D1:D10")
a = Range("C1").Value
E = Range("C2").Value
L = Range("C3").Value

'L分?a,b=L-a?段
ΔL = Range("C4").Value

'i=0,1,2,.......,a,a+1,......L
ReDim Q(L) As Double
ReDim sumM(L) As Variant
ReDim M(L) As Double
j = 0
For i = 0 To L
If i = 0 Or i > 10 Then
'加入i=0 ?的一些特殊?理
'。。。。。。。。
GoTo NEXT_FOR
End If

'i<=a?,M(i)=i/a*M
j = j + 1
If j > 10 Then