帮我检查员vb检查出错的位置

来源:百度知道 编辑:UC知道 时间:2024/06/17 08:38:26
下面这段代码是自己编写时遇到了这样的情况。请哪位兄长帮忙解决一下。谢谢!
控件: text1.text
Private Sub Form_Click()
Dim a1()
Sum = 0
a1 = Split(Text1.Text, "+")
For Each x In a1
Sum = Sum + Val(strpx(x)) '调用strpx
Next
Print Sum
End Sub

Public Function strpx(ByVal nstr As Integer)
Select Case nstr
Case "一"
strpx = 1
Case "二"
strpx = 2
Case "三"
strpx = 3
Case "四"
strpx = 4
End Select

End Function
为什么在这里面text1.text里面输入"一+二+三"结果是出错显示为类型不匹配。

Private Sub Form_Click()
Dim a1() As String
Dim sum As Integer
sum = 0
a1 = Split(Text1.Text, "+")
For Each x In a1
sum = sum + Val(strpx(x)) '调用strpx
Next
Print sum
End Sub

Public Function strpx(ByVal nstr As String) As Integer
Select Case nstr
Case "一"
strpx = 1
Case "二"
strpx = 2
Case "三"
strpx = 3
Case "四"
strpx = 4
End Select

End Function

改的主要的地方是因为你传入的是一 二 三 所以你的函数传入的变量类型因该是STRING 而不是INTEGER