百分求解:VB6计算奇次的数字出现的次数

[复制链接]
查看11 | 回复5 | 2010-9-15 17:45:59 | 显示全部楼层 |阅读模式
本人不会VB6,请写出代码并复制下面的举例,验证通过。只说方法者勿答,谢谢合作。
如果下面“具体”里面的内容看不明白,请坚持看完,再看举例一定可以明白。
具体:
手动从excel复制粘贴数据到VB6的文本框,每一个单元格中的数据占据文本框的一行,该行容不下的要允许换行。数据被用小括号和逗号分开,小括号前面为数字,小括号内为该数字的次数,按一个按钮,计算小括号内次数为奇数的数字出现的次数。每行数据的最后一个数字后面没有小括号或逗号或两种皆没有的视为一次的(例如举例的第三行)。小括号和逗号均为英文输入法下的。
随意举例4行数据(实际上要统计上百行):
2(13),6(12),1(11),8(6),0479(5),3(4),5(3),这一行比较长,要允许换行。
3(15),5(10),278(1),0149(0),含有0次的
13(4),057该行057后面没带次数,视为1次的!!!
13456(2),027(1),该行027后面带了次数,为1次的
上面4行的次数为奇数的数字就是2104795 3278 057 027,将它们出现的次数统计一下,注意这里说的次数已经不是上面4行数据小括号内的次数,而是2104795 3278 057 027这些符合要求的数字的出现次数!在弹出的记事本里面的统计结果和格式是7(4),02(3),5(2),13489(1),6(0),
即数字7在次数为奇数出现了4次,0和2出现3次,5出现2次,13489出现1次,6没有出现,6全在次数为偶数里面。
在记事本里只显示7(4),02(3),5(2),13489(1),6(0),
至于我说的“上面4行的次数为奇数的数字就是2104795 3278 057 027,”那是我便于帮助你理解进行的注释!

回复

使用道具 举报

千问 | 2010-9-15 17:45:59 | 显示全部楼层
Option Explicit'判断出现的值是奇数,并返回相应的数字串Private Function IsOddNumber(ByVal pString As String, ByRef pStrNum) As Boolean
Dim x As Long
Dim Num As Long
If Len(Trim(pString)) = 0 Then Exit Function
x = InStr(pString, "(")
If x = 0 Then
'没有括号,视出现1次
pStrNum = pString
Num = 1
回复

使用道具 举报

千问 | 2010-9-15 17:45:59 | 显示全部楼层
调试完毕,将如下代码另存为form1.frm 然后打开运行即可。VERSION 5.00Begin VB.Form Form1
Caption
= "Form1" ClientHeight
= 3195 ClientLeft
= 60 ClientTop
=
回复

使用道具 举报

千问 | 2010-9-15 17:45:59 | 显示全部楼层
如果是工作需要,有多个单元格数据需要处理,编写独立程序,你还是需要一个个单元格复制了操作。使用excel中的宏,语法和vb差不多。可以直接遍历数据表中单元格数据,然后再根据大侠们给出的调试成功的处理一个单元格复制过来的数据,你就可以实现自动批量处理所有excel表中的数据了,连复制黏贴都可以省略。而且这样一个数据表带宏保存后,你这个问题就一劳永逸了。需要的话
回复

使用道具 举报

千问 | 2010-9-15 17:45:59 | 显示全部楼层
87(9)
回复

使用道具 举报

千问 | 2010-9-15 17:45:59 | 显示全部楼层
我们也不清楚啊可以问问其他人和大学老师啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行