我的代码是这样的: Private Sub C1_Click() TEXT1.Text = Val(fun()) End Sub Sub fun(a As Integer) If Option1.Value = True Then For i = 500 To 600 If i Mod 7 = 0 Then fun() = fun() + i End If Next i End If End Sub
sub有返回值的吗0.0 function fun(a As Integer) If Option1.Value = True Then For i = 500 To 600 If i Mod 7 = 0 Then fun() = fun() + i End If Next i End If End function 改成这样就可以调用了,"a As Integer"可以拿走,因为计算过程中并不涉及a。 另外,未修改之前TEXT1.Text = Val(fun())是错的,除了sub没有返回值之外,fun(括号中必须填上些东西,除非过程中fun(Optional a As Integer),返回值不是string类型的话val()也没必要。
Private Sub Command1_Click() Text1.Text = CStr(GetSum(500, 600)) End Sub Function GetSum(MinV&, MaxV&) As Long Dim i&, Tsum& For i = MinV To MaxV If i Mod 7 = 0 Then Tsum = Tsum + i Next i GetSum = Tsum End Function
Option Explicit Dim i As Integer Function fun() As Integer If Option1.Value = True Then For i = 500 To 600 If i Mod 7 = 0 Then fun = fun + i End If Next i End If End Function Private Sub C1_Click() Text1.Text = CStr(Val(fun)) End Sub