Dim t As Long
_________________________________________
Public Function j(n As Integer) As Long
t = 1
For i = 1 To n
t = t * i
Next i
j = t
End Function
_______________________________________
Private Sub Command1_Click()
Text1.Text = j(8) '这里就可以调用函数了
End Sub
先说函数中的instr(1,
s,
"
0")
意思是查找字符串"
0"在变量s中出现的第一个位置,这儿的1可以不用写,意思是从第一个字符开始查起。你要看清,这儿的"
0"是有个半角空格的。
ss
=
mid(s,
1,
i)
&
change
意思是获取从变量s的第1位开始到变量i的位置上的字符串,并加上后面的change变量。
你的sub中text1.text我不知道你输入了什么字符,但这里面我敢肯定是没有"
0"相关的字眼,因此在instr(1,
s,
"
0")时就会出现错误,它的值为0,到了后面mid(s,
1,
i)
,怎么会从1到0的字符呢?这本身就是错误的,所以不会输出什么
然后加上后面的change,也就是你的c,也就是52了
你在text1.text中输入“abcdefg
0
asdf”试试,就不会只输出52了
Private Function f(Dim n As Integer) as Integer
if n=0 then
f=1
else
for i=1 to n
t=t*i
next
f=t
endif
End Function
调用的时候如下,x等于24
x=f(4)
Public Function fjiecheng(ByVal n As Integer)
Dim i, fn As Long
fn = 1
For i = 1 To n
fn = i * fn
Next
Return fn
End Function
实例:
Private Sub xs() ‘自定义了一个过程 xs ()
dim a
dim b
a= "早上好"
b="先生"
Print a
print b
End Sub
Private Sub Form_Click()
call xs() ' 调用自己定义的过程
End Sub