有没有高手知道怎样用VBA在excel中计算定积分?多谢多谢!请提供VBA代码
答案:1 悬赏:30
解决时间 2021-01-29 10:20
- 提问者网友:姑娘长的好罪过
- 2021-01-28 16:20
有没有高手知道怎样用VBA在excel中计算定积分?多谢多谢!请提供VBA代码
最佳答案
- 二级知识专家网友:独钓一江月
- 2021-01-28 16:52
Sub 求定积分()
On Error Resume Next
Dim n1 As Integer, n As Integer, i As Integer
Dim s As String
Dim C1 As Double, C2 As Double, C3 As Double
If ActiveSheet.UsedRange.Rows.Count < 2 Then
Cells(1, 1) = "积分式"
Cells(1, 2) = "下限"
Cells(1, 3) = "上限"
Cells(1, 4) = "计算结果"
s = MsgBox("请从第二行开始,每一行可计算一个积分," & Chr(13) & "第一列输入积分式,积分变量只能用X," & Chr(13) & "并且要按照Excel公式的要求输入", , "提示信息")
End If
n = ActiveSheet.UsedRange.Rows.Count
Columns(5).Hidden = True
For n1 = 2 To ActiveSheet.UsedRange.Rows.Count
s = Cells(n1, 1)
C1 = Cells(n1, 2) '积分下限
C2 = Cells(n1, 3) '积分上限
If s = "" Or C1 = 0 And C2 = 0 Then GoTo w1
s = UCase(s) '小写变大写
n = InStr(s, "X")
Do While n > 0
s = Left(s, n) & " " & Mid(s, n + 1)
Mid(s, n) = "e2"
n = InStr(s, "X")
Loop
Cells(n1, 4) = "=" & s
n = 2000 '小于32767,N值越大,结果越精确
C3 = (C2 - C1) / n
Cells(n1, 5) = C1
C2 = Cells(n1, 4) / 2
For i = 1 To n
Cells(n1, 5) = i * C3 + C1
C2 = C2 + Cells(n1, 4)
Next i
Cells(n1, 4) = (C2 - Cells(n1, 4) / 2) * C3
w1: Beep
Next n1
End Sub
程序已调试通过,如有问题请联系
这问题我已经回答过别人了,你怎么没查一下呢?
On Error Resume Next
Dim n1 As Integer, n As Integer, i As Integer
Dim s As String
Dim C1 As Double, C2 As Double, C3 As Double
If ActiveSheet.UsedRange.Rows.Count < 2 Then
Cells(1, 1) = "积分式"
Cells(1, 2) = "下限"
Cells(1, 3) = "上限"
Cells(1, 4) = "计算结果"
s = MsgBox("请从第二行开始,每一行可计算一个积分," & Chr(13) & "第一列输入积分式,积分变量只能用X," & Chr(13) & "并且要按照Excel公式的要求输入", , "提示信息")
End If
n = ActiveSheet.UsedRange.Rows.Count
Columns(5).Hidden = True
For n1 = 2 To ActiveSheet.UsedRange.Rows.Count
s = Cells(n1, 1)
C1 = Cells(n1, 2) '积分下限
C2 = Cells(n1, 3) '积分上限
If s = "" Or C1 = 0 And C2 = 0 Then GoTo w1
s = UCase(s) '小写变大写
n = InStr(s, "X")
Do While n > 0
s = Left(s, n) & " " & Mid(s, n + 1)
Mid(s, n) = "e2"
n = InStr(s, "X")
Loop
Cells(n1, 4) = "=" & s
n = 2000 '小于32767,N值越大,结果越精确
C3 = (C2 - C1) / n
Cells(n1, 5) = C1
C2 = Cells(n1, 4) / 2
For i = 1 To n
Cells(n1, 5) = i * C3 + C1
C2 = C2 + Cells(n1, 4)
Next i
Cells(n1, 4) = (C2 - Cells(n1, 4) / 2) * C3
w1: Beep
Next n1
End Sub
程序已调试通过,如有问题请联系
这问题我已经回答过别人了,你怎么没查一下呢?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯