打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
(跟老谭学Excel VBA)第6课_拆分工作表

有这样一张“学生”表,总行数大概2万行。现在需要将这些数据按照班级单独存放。比如“物教1班”的所有信息要有一张单独的“物教1班”表来保存,“人文99班”的所有信息要有一张单独的“人文99班”表来保存。



1、思路框架


由于数据有上万行,每一行的班级都不同,所以必须在一个循环结构中来完成。i从第2行开始,取到数据表的最后一行,每取一行,就把“绿色注释”的操作进行一遍


2、判断指定名称的工作表是否存在

这个框架中,“如何判断指定名称的工作表是否存在”是一个新的要点。方法有很多,这里老谭给大家介绍效率最高的一种:错误捕捉。

看下面2行代码:


很简单对吗?就是把“成都”工作表赋值给对象变量sht,结果报错了。一开始老谭就截图给大家看过了,整个工作簿里只有“学生”表,并没有一个叫“成都”的工作表,所以赋值失败,报错了

但是,我们如果加一行代码的话,可以让它不报错,继续往下执行。


看到了吗?“成都”表依然不存在,但是MsgBox能顺利提示消息。难道这里没有出错?再看一个对比实例:


左右两边代码唯一不同是赋值的工作表不一样。“成都”不存在,输出的Err.Number=9,“学生”是存在的,输出了Err.Number=0

在VBA中,Err.Number叫做“错误编号”,我们不用深究它的具体意义,只需记住一句话:Err.Number=0表示没出错,Err.Number<>0表示出错。

结合工作表的赋值操作报错还是不报错,我们反过来思考一下,可以得出结论:Set sht = Worksheets('成都'),类似这样的赋值操作,如果Err.Number<>0(出错)表示该工作表不存在,Err.Number=0(没出错)表示该工作表存在。那么,下面这段代码应该不用多解释了。



3、完整代码



4、执行效果



Excel VBA的学习是一个比较辛苦的过程,建议初学者从模仿开始,多动手敲代码,能把老谭的代码从抄写到自己敲出来,说明你就已经上升到另一个台阶了,加油。

老谭的网络视频课程,系统、详细讲解,感兴趣的扫码开学!



喜欢老谭讲解的小伙伴多多点赞、多多推荐关注!


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Excel VBA 7.63批量解除工作表保护,比你拿钥匙开门还快
VBA小技巧:确定工作表数据区域
vba使用文件对话框移动文件
【跟我学Excel VBA】 第一课:批量新建工作表
VBA去除工作表中的全部空格代码
忘记Excel工作表密码怎么办?一招教你快速解决
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服