VBA满足条件设定情况下筛选数据的编程,请大神帮忙,小弟先谢了!
是这样的,用公式我知道怎么做,也做好了,数据量不多的情况下处理器也能处理过来。但是,现在的问题是,数据量上万条,以后还会慢慢增加,用公式EXCEL根本不能处理,直接卡死。...
是这样的,用公式我知道怎么做,也做好了,数据量不多的情况下处理器也能处理过来。但是,现在的问题是,数据量上万条,以后还会慢慢增加,用公式EXCEL根本不能处理,直接卡死。
我知道vba能高效的处理数据,把EXCEL发挥到极致,可惜我不会。所以请求高手帮个忙,上班族很苦逼的,老板有什么变态要求都要接受,求高手帮帮忙吧!
具体要解决的问题如下:
由于出于商业保密原则,我就只做个简单的EXCEL来做个示例:(数字文字都只是原数据的代替)
(图1)
文件我也上传到百度盘了,请大神看一下:
http://pan.baidu.com/s/1pJwVsZh
我需要用VBA做成这样的效果:
首先,这是一个条件选择区域:
(图2)
这些条件可以自由组合填写,有时条件多有时条件少。图2红色字体B、C、D、....K、L代表的是这些列:
(图3)
我想要点一下
(图4)
统计按钮,数据统计区就统计出相应的结果。
假设如图2所示,条件C为“2”,条件J为“四”,根据条件定位到数据区里符合条件的行,如图:
(图5)
(颜色填充只是为了更显眼的让你们看到)
根据条件,数据分别定位在第2行,第6行,第7行和第11行。现在要统计的是符合条件设定的行的下一行!注意是下一行的数据。即第3行,第7行,第8行和第12行的数据如图6所示:
(图6)
然后统计出:
符合条件的行的下一行B列的数据“9”有2个,“8”有1个,C列“2”有1个,“3”有2个,“8”有1个.........
就是这样的统计。
sheet1的B列到L列的数据有上万行,将来还会继续增加,所以用公式是统计不来的,EXCEL会卡死,也会不准确。
求求懂编程的大神帮帮忙,我知道这对你们来说是小菜一碟,但对不懂编程的我来说却苦恼了一个多星期。求大神帮忙,跪谢了,感激不尽!我不会让大神们白白付出劳动的,如果做出符合我需求的,请私信我留个号码,我给您充点话费,表示感谢! 展开
我知道vba能高效的处理数据,把EXCEL发挥到极致,可惜我不会。所以请求高手帮个忙,上班族很苦逼的,老板有什么变态要求都要接受,求高手帮帮忙吧!
具体要解决的问题如下:
由于出于商业保密原则,我就只做个简单的EXCEL来做个示例:(数字文字都只是原数据的代替)
(图1)
文件我也上传到百度盘了,请大神看一下:
http://pan.baidu.com/s/1pJwVsZh
我需要用VBA做成这样的效果:
首先,这是一个条件选择区域:
(图2)
这些条件可以自由组合填写,有时条件多有时条件少。图2红色字体B、C、D、....K、L代表的是这些列:
(图3)
我想要点一下
(图4)
统计按钮,数据统计区就统计出相应的结果。
假设如图2所示,条件C为“2”,条件J为“四”,根据条件定位到数据区里符合条件的行,如图:
(图5)
(颜色填充只是为了更显眼的让你们看到)
根据条件,数据分别定位在第2行,第6行,第7行和第11行。现在要统计的是符合条件设定的行的下一行!注意是下一行的数据。即第3行,第7行,第8行和第12行的数据如图6所示:
(图6)
然后统计出:
符合条件的行的下一行B列的数据“9”有2个,“8”有1个,C列“2”有1个,“3”有2个,“8”有1个.........
就是这样的统计。
sheet1的B列到L列的数据有上万行,将来还会继续增加,所以用公式是统计不来的,EXCEL会卡死,也会不准确。
求求懂编程的大神帮帮忙,我知道这对你们来说是小菜一碟,但对不懂编程的我来说却苦恼了一个多星期。求大神帮忙,跪谢了,感激不尽!我不会让大神们白白付出劳动的,如果做出符合我需求的,请私信我留个号码,我给您充点话费,表示感谢! 展开
2个回答
展开全部
第一、建议数据统计区只显示想要统计的结果,多余的一些空值一是没必要显示,二是查找后写入也会影响速度;
第二、为什么不是统计符合条件区域条件的数据而是下一行呢?这样,无论是从excel的筛选还是sql的查询,都不利于查找;(如果A列是唯一标识且是数字递增,或者再添加一列ID为数字的话,这个查询也可实现)
第三、建议条件区域、和统计区域另放一个表,而数据区域单独用一个表。
你想要的结果用sql语句查询是最快的最简单的方法,数据区域需要加上跟条件区域、统计区域一样的标题栏。
如果这几点都可以接受的话,我倒是中以试试。
第二、为什么不是统计符合条件区域条件的数据而是下一行呢?这样,无论是从excel的筛选还是sql的查询,都不利于查找;(如果A列是唯一标识且是数字递增,或者再添加一列ID为数字的话,这个查询也可实现)
第三、建议条件区域、和统计区域另放一个表,而数据区域单独用一个表。
你想要的结果用sql语句查询是最快的最简单的方法,数据区域需要加上跟条件区域、统计区域一样的标题栏。
如果这几点都可以接受的话,我倒是中以试试。
更多追问追答
追问
第三个建议可行。第一个建议也可以,但其实数据量一大,就没有空值了。第二个建议它就是要统计符合条件区域的下一行数据。可以添加一列ID为数字的列。SQL我不懂,所以您是权威,你说怎么做就怎么做。拜托了,谢谢
追答
还有一个问题,你需要确定数据区域B到L列哪一列的值为数字型,哪一列为文本型。
就从你的文件来看,是不是B、C、D、E、F、G列为数值型,H、I、J、K、L列为文本型。这个定型以后是不可以变的,要不然用sql查询会报错。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询