VBA中Excel宏的介绍及应用
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">Excel中的宏(Macro)是什么</a></li><li><a href="#_label1">宏的来历</a></li><li><a href="#_label2">宏能干什么?</a></li><li><a href="#_label3">宏的录制</a></li><li><a href="#_label4">宏的保存</a></li></ul></div><p class="maodian"><a name="_label0"></a></p><h2>Excel中的宏(Macro)是什么</h2><p>在Excel的“视图”标签页下,有一个宏的功能,示例如下图:</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202305/20230526153031165.png" /></p>
<p>宏其实是一段可以重复执行的代码,对应上图的两个选项:</p>
<ul><li>查看宏:查看已经存在的宏的代码段,并且可以执行</li><li>录制宏: Excel提供了可以像录制声音那样录制宏的代码段,点击“录制宏”之后,接下来对Excel的操作会自动转换为代码。</li></ul>
<p class="maodian"><a name="_label1"></a></p><h2>宏的来历</h2>
<p>既然宏是可以重复执行的代码段,那宏是什么语言的代码呢?答案是VBA, 那VBA是什么语言呢? 这就要从BASIC语言说起了。</p>
<p>BASIC是一门很古老的计算机语言,发表于1964年。BASIC代码通过BASIC解释器翻译为计算机能识别的机器指令。<br />微软的DOS、Windows 3、Windows 9系列预装了BASIC解释器(称为:QBasic),所以可以直接写Basic程序;但从Windows 2000开始,就不再预装BASIC解释器了。</p>
<p>微软基于Windows 图形界面开发了新的Visual Basic语言,并提供了可视化的便捷开发工具Visual Basic IDE。不过是需要收费的。<br />1996年,微软开发Visual Basic Scripting Editing(即VBScript),类似快速书写批处理脚本,语法和VB保持一致。VBScript在操作系统内置。<br />VBA: Visual Basic for Applications 。微软在Office系列产品中集成了VBScript解释器,这个VBScript就是VBA。除了解释器,还有集成开发环境,一个简化版的Visual Basic IDE。</p>
<p>所以, 宏属于VB语言系列,但是属于脚本语言, 也就是不需要编译为exe文件,可以由解释器直接解释运行,宏的代码示例:</p>
<div class="jb51code"><pre class="brush:vb;">Sub 宏1()
'
' 宏1 宏
'
'
Cells.Select
Range("G22").Activate
Selection.Copy
Sheets("Sheet1").Select
Cells.Select
Range("F26").Activate
ActiveSheet.Paste
End Sub</pre></div>
<ul><li>Sub 是VB语言的过程, 相当于函数的概念</li><li>单引号 ’ 用来添加注释,属于VB的语法</li><li>Cells、Sheets、ActiveSheet 是VBA的对象</li></ul>
<p>集成在Excel 中的开发IDE如下:</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202305/20230526153031166.png" /></p>
<p class="maodian"><a name="_label2"></a></p><h2>宏能干什么?</h2>
<p>宏是一段脚本代码,能够帮助我们进行重复、繁杂的动作。最重要的是宏的编写或录制很简单,没有编程经验或是没有VBA语言的基础也可以实现简单的宏。宏一般是用来处理复杂的Excel,也就是内容较多或是格式等较为复杂。宏可以用来:</p>
<ul><li>对Excel文件、工作表(Sheet)等进行操作,可以像界面操作一样复制、删除、移动</li><li>对单元格(Cell)进行操作,包括设置值、获取Comment等</li><li>可以将Excel中的数据输出到文件中</li><li>…</li></ul>
<p>典型应用包括:</p>
<ul><li>收集不同Excel中的工作表统一到一份Excel中,自动产生报表</li><li>在系统开发时,用来收集初始数据或是增量的Admin数据</li><li>。。。</li></ul>
<p class="maodian"><a name="_label3"></a></p><h2>宏的录制</h2>
<p>接下来以一个复制工作表的实例演示宏的录制。</p>
<p>视图>宏>录制宏</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202305/20230526153031167.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202305/20230526153031168.png" /></p>
<p>切到Sheet2,在界面上Ctrl+A选中Sheet2的所有Cell, 键盘Ctrl+C</p>
<p>切到Sheet1,Ctrl+A选中Sheet1的所有Cell,键盘Ctrl+V</p>
<p>点击“停止录制”,保存宏<br />以上宏的录制就完成了, 通过查看宏,</p>
<p>点击“执行”就可以重复刚刚录制的动作了</p>
<p>点击“编辑”就可以打开IDE并看到录制的宏的代码。如果有VB的编程基础,基础VBA的API就可以进行宏的编程了。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202305/20230526153031169.png" /></p>
<p class="maodian"><a name="_label4"></a></p><h2>宏的保存</h2>
<p>宏的代码段是保存在Excel文件中,在老版本的Excel中需要开启允许宏的设置, 新版本的Excel则需要保存后缀名是 .xlsm 的文件。如下图:</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202305/20230526153031170.png" /></p>
<p>如果不保存.xlsm 类型,则会报如下提示,而且保存之后宏也可能丢失。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202305/20230526153031171.png" /></p>
頁:
[1]