返回目录:excel表格制作
如果掌握了EXCEL宏(或叫VBA)的制作方法,你再也不会遇到EXCEL难题了,凡是EXCEL难题,都能用宏来解决。函数什么的在宏面前弱爆了!
好了,废话不多说,进正题!
本篇幅有点小长,给能看完的点赞!
今天我们要完成的任务是,每周一早上八点半前都要汇报上周的销售情况,而上周每天各销售点的销售情况到周一凌晨5点才能汇总上来。也许你要早起至少1个小时才能完成这个任务,稍不注意,还会出错,学会宏,类似这样的工作,一秒就能完成!
简单起见,现在假设各销售点的数据已经按天,按单品汇总好了,汇总方法在本栏里早期的内容里已作介绍。这里不再赘述。
汇总表要求如下图
其他日期表的数据形式如下图
首先,从EXCEL的开发工具中找到“录制宏”按钮
点击“录制宏”
现在我们正式开始了:
要把各日期表的数据汇总到汇总表里,我们首先能想到的是vlookup函数,没错就是它!
按照上图,我们设置好了D3单元格的公式,然后直接复制到E3单元格,对E3单元格里的公式进行修改。
针对E3单元格的VLOOKUP公式,我们需要修改第2个参数,把“2017-3-5”改为“2017-3-4”,这样E3单元格的值才能和“2017-3-4”表里的值对应起来。这样就够了吗?下周我们再更新类似的表时,还要一个个改,费时费力,因此我们继续改,让这个公式自动化,自动化,智能化!!
想起我们之前学过的indirect函数了!我们把VLOOKUP的参数2用indirect函数包装起来,然后把公式里的“2017-3-4”用表头E2单元格的值来代替,如图:
看结果,是不是有点失望?出错了!!!
不要急躁,沉住气!我们继续努力!
这是因为我们引用的E2单元格的值是“2017/3/4”和我们要用的sheet"2017-3-4"名不太一样,
怎么办?我们改sheet名,也可以,你试下,发现sheet名里不能有“/”这个字符!
逼我使用绝招!text函数上场!text函数可以把“2017/3/4”转成"2017-3-4",如图:
看,现在值能正常显示了!问题终于解决了,长舒一口气!
我们把E3单元格的公式复制到其他单元格
看上面的图,我们发现个问题,没有2017-3-3的销售,销售员漏报了!这个问题管不了了,我们继续向前!把所有需要填充的单元格,都用同样的公式填满!
满屏的错误!这样的报表交给领导,肯定要被骂!改进,改进,改进!,消除一切错误符号!
iferror上场,我们在vlookup函数外面再包一层iferror函数,如图!
好了,这个模板基本算做完了,还留有一点点让大家自己思考怎么解决吧:
D列还没有自动化呢?
接下来,我们就结束宏录制,如图:
由此,我们完成了一次EXCEL宏的录制。
这个宏有什么用,你一脸懵逼的看着我?
看下面的图,我已经把公式都清空了,你难道还要再做一遍吗?
我的回答是NO!因为刚刚你已经做了个一键恢复功能,看:
点击执行,表格恢复如初!
带你们看下宏是个啥!看上图的箭头,点进去,就能看到下面如诗的画面!这画面太美,我不敢看。。。
好了,工作成果记得保存哦!
保存时,你可能会遇到一点小麻烦,点击“是”就行了,这个是你自己录制的,不是宏病毒!绝对安全!即使不相信别人,还是要相信自己滴!
因为宏可以移植,你可以把上面的代码拷贝到别的EXCEL里去用,也就是说,下个星期再给你一个这样的任务,你直接把代码拷贝过去,也许你的工作一秒钟就完成了!
从此你每周一早上可以多睡一个小时了!