Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3426|回复: 6

根据vba实现单元格内提取数字分配

[复制链接]
发表于 2019-7-11 16:00 | 显示全部楼层 |阅读模式
2学分
烦请各位老师帮帮忙!!!!!!!
1.png

oooo.rar

7.92 KB, 下载次数: 8

最佳答案

查看完整内容

1、你的截图与附件格式不符,我就按照文件里的格式来写的代码; 2、你的说明与需求还是有矛盾,说明提到“提取完成后删除摘要”,我不理解删除它干嘛?因为提取是必须依赖摘要才能进行的。我不清楚你是按照行顺序往后顺序添加呢还是一直在3-4行反复输入,我设想的是往后添加,代码也是按照这个思路来写的,所以我也没有去删除摘要; 3、我在顶行的位置添加了一个按钮,按它就能全部提取数据。可以重复按,不会重复提取数据,因 ...
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2019-7-11 16:00 | 显示全部楼层
zhangv712 发表于 2019-7-13 09:23
感谢!  就这两种卡 没有别的了  如果是单独的卡  直接输进去  两个同时存在中间有个空格!

1、你的截图与附件格式不符,我就按照文件里的格式来写的代码;
2、你的说明与需求还是有矛盾,说明提到“提取完成后删除摘要”,我不理解删除它干嘛?因为提取是必须依赖摘要才能进行的。我不清楚你是按照行顺序往后顺序添加呢还是一直在3-4行反复输入,我设想的是往后添加,代码也是按照这个思路来写的,所以我也没有去删除摘要;
3、我在顶行的位置添加了一个按钮,按它就能全部提取数据。可以重复按,不会重复提取数据,因为每次提取前会先删除之前提取的数据。正因为如此,“删除摘要”就变得不可行,如果删了摘要,下次再按就什么也没有了;
4、最后,我仍然认为这类数据不能是手工录入的,发生错误的概率非常高。因为这个原因,所以我没有把代码放在B列来判断。如果是人工即时录入,比较合理的应该是在录完A-B列后立即提取数据,我假设的数据是你大批量从别的地方复制过来的,所以才考虑用按钮一次性全部提取出来。如果是多次拷贝,那就多次按按钮,按钮的意义就在如此;

修改oooo.rar

15.87 KB, 下载次数: 12

评分

参与人数 1学分 +2 收起 理由
zhangv712 + 2 感谢!

查看全部评分

回复

使用道具 举报

发表于 2019-7-12 15:32 | 显示全部楼层
你这代码看起来简单,实际不好写,原因是写法不规范,可能性太多,会出现很多不可控的情况,比如:
摘要,现在是 “付 电费 100 200”
         要是写  “付 电费 100           200”,判断方式就不同了,一个空格和多个空格不一样,还有
                    “付 电费 和水费 100 200”,“电费 和水费”中间有空格,这会严重影响判断的准确性;
对于“户别”,也是如此,比如:
       “现金 农卡”
       “农卡 现金”
       “现金”
       “农卡”
       “现金           农卡”
       这些都不一样,再加上摘要的多样性,会出现无数组合,逻辑上全乱了。

   输入格式要严格规范,你不能仅仅说我肯定会写成 “付 电费 100 200”,万一手抖写成“付 电费 100200”的可能行非常大,代码判断就出错了,这样的代码就没价值。
   作为建议,不同类型的东西要分开单元格输入,这样是为了强制格式规范,100 200 分两个单元格输入比放在一个单元格好得多。
回复

使用道具 举报

 楼主| 发表于 2019-7-12 16:40 | 显示全部楼层
hfwufanhf2006 发表于 2019-7-12 15:32
你这代码看起来简单,实际不好写,原因是写法不规范,可能性太多,会出现很多不可控的情况,比如:
摘要, ...

感谢您的建议   我这个是从别的地方倒过来的  因为填写太繁琐 所以导出来 格式都是一个空格 没有别的其他格式 内容也很单一  就是太多了  用公式后期会太卡了 所以来讨教各位老师给我一次伸手党的机会。{:9_311:}
回复

使用道具 举报

发表于 2019-7-12 17:02 | 显示全部楼层
zhangv712 发表于 2019-7-12 16:40
感谢您的建议   我这个是从别的地方倒过来的  因为填写太繁琐 所以导出来 格式都是一个空格 没有别的其他 ...

要是格式十分规范的话,我抽时间给你写。
我再问一下:卡别这里每行肯定是包含“现金 农行”的,而且顺序不变?有没有可能会只有其中一个?这两者的差别很大,需要判断的种类差不少。
回复

使用道具 举报

 楼主| 发表于 2019-7-13 09:23 | 显示全部楼层
hfwufanhf2006 发表于 2019-7-12 17:02
要是格式十分规范的话,我抽时间给你写。
我再问一下:卡别这里每行肯定是包含“现金 农行”的,而且顺 ...

感谢!  就这两种卡 没有别的了  如果是单独的卡  直接输进去  两个同时存在中间有个空格!
回复

使用道具 举报

 楼主| 发表于 2019-7-13 15:31 | 显示全部楼层
hfwufanhf2006 发表于 2019-7-13 12:48
1、你的截图与附件格式不符,我就按照文件里的格式来写的代码;
2、你的说明与需求还是有矛盾,说明提到 ...

太感谢了 !  谢谢老师不吝赐教! 完美的解决了我的问题{:9_318:}
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-28 20:18 , Processed in 0.393769 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表