帮我修改一下这个vb高手给我写的代码!

来源:百度知道 编辑:UC知道 时间:2024/06/02 01:59:07
未改前:
Private Sub Command1_Click()

Text3 = ""
a0 = Split(Text2.Text, Chr(13) + Chr(10))
for Each y In a0
Debug.Print y
a1 = Split(Text1, "+")
For Each x In a1
Sum = Sum + Val(aa(x, y))
b = b & aa(x, y) & "+"
Next

Text3.Text = Text3.Text & Left(b, Len(b) - 1) & "=" & Sum & Chr(13) & Chr(10)
b = ""

Next

End Sub

Public Function aa(ByVal a As String, ax As Variant) As Integer
Select Case a
Case "第一个数"
aa = bb(1, ax)
Case "第二个数"
aa = bb(2, ax)
Case "第三个数"
aa = bb(3, ax)
Case "第四个数"
aa = bb(4, ax)
Case "第五个数"
aa = bb(5, ax)
End Select
End Function

Public Function bb(ByVal a As String, ax As Variant) As Integer
b = Split(ax)
Select Case a
Case "1"
bb = b(0)

简单问题复杂化,搞不清楚为什么弄那么多aabb的,
不过从第一段代码看来,每一行相加之后没有清零。

for Each y In a0
后面加上一句
sum = 0
即可,在另一个帖子里面已经回答你这个问题。
至于第二段代码,没耐心看了。

哈哈,你这位兄弟,最上面的那段代码是我写的。
下面的那个不知道那哥们儿,怎么非要给我改了,我比较来气!
我写的代码明明没有任何问题,愣说我有问题,被气晕了快!!
“aa = bb(3, ax)”把这个参数传过去,和,“b = Split(Text2.Text) ”
有区别。

没想到,今天又让我碰上你了,看来还是有缘,本来想给你解决一下,但是,看了看你给的分也太低了吧!才10分,太抠了点吧!
________________________________________________________

算了,我给你解释解释吧!

1、单行变多行的思路
找到“Chr(13) & Chr(10) ”回车换行符,进行split
然后,再不数组中的每一个元素,split就行了

2、你没理解的地方
你的bb函数直接split那个文本框里的值,那就不行了,需要把split回车换行符后的数组元素传递给bb,另由于bb不能直接接收这个参数ax,所以,必须借助aa函数帮助传递。

3、这个程序很简单,需要弄懂的地方
a.VB的数组用法
b.VB函数的用法
c.VB获取ASCII码指定字符的方法

4、下次提问注意的地方
多给点分,以后怎么着也得照着100分给呀。呵呵,开玩笑的。

一般人看不懂!!