乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel宏教程-Excel VBA 不可一世的录制宏,是否真的是万能的

excel宏教程-Excel VBA 不可一世的录制宏,是否真的是万能的

作者:乔山办公网日期:

返回目录:excel表格制作

上篇文章说到什么是Excel VBA,那么你就会有疑问宏是如何应用到我们的Excel中呢?他真的是万能的吗?他具体可以做啥?其实可以这么说,宏是我们通过Excel录制从而得到VBA代码,而我们有时候自己写的代码也称之为VBA代码。其实他们本质是相同的。

我们先看Excel的宏可以在Excel中做什么事情?如下图有某个公司的出库报表。


每天出货的编码,品名,数量,单价,这些需要我们自己手动录入Excel中,当我们完成了这个单据,需要把他保存到我们的记录Sheets中。


我们一般手动操作是复制A2:F6单元格区域,点击COPY,然后激活记录工作表,点击A2单元格,进行粘贴,完成这个动作。


那么我们如果我们一天有几百个这个的出库报表,您是否需要这样重复操作一百遍?这样的工作效率是不是很低?


这个时候我们就可以用VBA代码来实现这个功能。我们先看看动画是怎么通过录制宏得到代码的吧!


看到上面的操作,是不是感觉原来需要我们自己手动进行操作的,现在只要点击按键,就可以自动的执行,是不是感觉是如此之简单的?


我们先一起看看通过录制得到的宏代码。


如下是我们自己手动自己写的代码,是不是发现我们通过录制得到的代码十分繁琐,多了很多无用的代码,通过录制的宏代码的执行效率也是非常低的。因此我们一般是通过录制宏,得到相应代码是使用方法和功能性代码,并不是我们都能记得起来所有的代码,有时候也需要通过录制宏间接的得到我们所需的代码。

这句代码的意思是复制A2:F6单元格区域,就相当于我们自己手动进行复制操作。


Range("A2:F6").Copy


这句代码的意思是,把我们刚刚复制的内容,粘贴到我们需要存放的工作表中。


Sheets("记录").Range("A2").PasteSpecial


或者你想说,如果每次复制单元格区域大小是改变的,这个时候代码应该如何去写,我们只需要把上面的代码稍作修改即可:


Range("A2:F" & Cells(Rows.Count, 1).End(3).Row).Copy


Sheets("记录").Range("A" & Sheets("记录").Cells(Rows.Count, 1).End(3).Row + 1).PasteSpecial


上面这个就可以自动识别区域大小,进行记录操作。


我们看看修改后的代码执行效果。


这个代码其实也许开始学习的你还是有点疑惑,但是不要紧,我们会逐一开始和你介绍如何去学习和自己写出来代码。


所以在某些层面上说,;录制宏其实并不是万能的,有些复杂的操作,通过录制宏我们并不能得到我们所需要的代码。我们在后期,并不推荐你用通过录制宏来得到想要的代码。


我是Excel教案,关注我持续分享更多的Excel技巧


相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网