vba如何将数组带入自定义的函数

如何对数组进行自定义函数的运算,然后输出数组?就是说m=f(s,t,L,K)中的s取(2,3,4,5,6),结果m用数组输出怎么写?求老师们指导~~... 如何对数组进行自定义函数的运算,然后输出数组?就是说m=f(s,t,L,K)中的s取(2,3,4,5,6),结果m用数组输出 怎么写?求老师们指导~~ 展开
 我来答
华师house
推荐于2016-11-06 · TA获得超过8856个赞
知道大有可为答主
回答量:1.1万
采纳率:94%
帮助的人:2050万
展开全部
窗体放一个Label和一个Command,代码如下:
Private Sub Command1_Click()
Dim i, a(19), max, min, sum, a1, a2, a3, a4, a5 As Integer
Label1.Caption = ""
Randomize
Label1.Caption = "20名学生成绩:" & vbCrLf
For i = 0 To 19
a(i) = Int(Rnd * 101)
Label1.Caption = Label1.Caption & a(i) & IIf(i = 19, vbCrLf, ",") & IIf(i = 9, vbCrLf, "")
If i = 0 Then
max = a(i)
min = a(i)
Else
If a(i) < min Then min = a(i)
If a(i) > max Then max = a(i)
End If
sum = sum + a(i)
Select Case a(i)
Case 0 To 59
a1 = a1 + 1
Case 60 To 69
a2 = a2 + 1
Case 70 To 79
a3 = a3 + 1
Case 80 To 89
a4 = a4 + 1
Case 90 To 100
a5 = a5 + 1
End Select
Next i
Label1.Caption = Label1.Caption & "最高分=" & max & vbCrLf
Label1.Caption = Label1.Caption & "最低分=" & min & vbCrLf
Label1.Caption = Label1.Caption & "平均分=" & Format(sum / 20, "0.00") & vbCrLf
Label1.Caption = Label1.Caption & "0 - 59分人数:" & a1 & vbCrLf
Label1.Caption = Label1.Caption & "60 - 69分人数:" & a2 & vbCrLf
Label1.Caption = Label1.Caption & "70 - 79分人数:" & a3 & vbCrLf
Label1.Caption = Label1.Caption & "80 - 89分人数:" & a4 & vbCrLf
Label1.Caption = Label1.Caption & "90 - 100分人数:" & a5 & vbCrLf
Call paixu(a)
Label1.Caption = Label1.Caption & "排序后20名学生成绩:" & vbCrLf
For i = 0 To 19
Label1.Caption = Label1.Caption & a(i) & IIf(i = 19, vbCrLf, ",") & IIf(i = 9, vbCrLf, "")
Next
End Sub

Private Sub Form_Load()
Label1.Move 0, 0, Me.Width
Label1.AutoSize = True
Label1.Caption = ""
End Sub

Private Sub paixu(b() As Variant)
Dim i As Integer, x As Integer
For i = LBound(b) To UBound(b)
For j = LBound(b) To i
If b(j) < b(i) Then x = b(i): b(i) = b(j): b(j) = x
Next
Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syx54
2013-02-28 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2691万
展开全部
VB中,数组本来就是以传址方式进行传递调用的。也就是说,你这个参数S,可以是一个数组,调用的时候,以一个数组调用,结果会传递返回给调用处。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tianqing20wen

推荐于2016-08-04 · TA获得超过2.4万个赞
知道大有可为答主
回答量:8226
采纳率:88%
帮助的人:5043万
展开全部
Private Sub Form_Load()
Dim s(), s1()
s = Array(2, 3, 4, 5, 6)
Dim t, L, K
t = 1
L = 2
K = 3
s1 = Test(s, t, L, K)
For i = 0 To UBound(s1)
MsgBox s1(i)
Next
End Sub

Function Test(s(), t, L, K)
Dim a
ReDim a(UBound(s))
For i = 0 To UBound(s)
a(i) = s(i) + t + L + K '
Next
Test = a
End Function
追问
你好!感谢啦 再问一个问题,如何通过vba实现函数积分和微分啊?积分下限是负无穷上限是实数,微分比如函数m对s求偏导
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式