搜索
写经验 领红包
 > 美容

excel宏不能录制(vba录制宏能录制哪些操作)

导语:Excel VBA 不可一世的录制宏,是否真的是万能的

上篇文章说到什么是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技巧

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小媛创作整理编辑!