我相信有许多朋友都是很想学习Excel的王炸功能——VBA,但是碍于其难度系数,一直可望而不可及。VBA为广大用户提供了对Excel功能进行二次开发的平台。我们可以借助VBA完成许多仅凭基本操作和公式无法实现的功能,并且可以实现工作自动化,提高工作效率。很多同学的Excel功能区中没有“开发工具”选项的,我们可以通过“选项”中的“自定义功能区”,调用出这个功能。然后选择“开发工具”——Visual Basic功能键,就可以打开VBE界面。  在弹出的菜单中,选择“查看代码”,也可以打开VBE界面。3.ALT+F11组合键打开,这是最常用的打开方式。注意:无论你使用何种方式打开VBE界面,都要记得,要打开某个工作薄之后,才可以使用VBE,毕竟EXCEL文件才是VBE的载体。在哪编写代码呢?今天先学最常用的:插入 - 模块。新建一个模块来存放编写的代码。 
插入(或双击)模块后,在右侧的空白位置就是编写代码的地方。 可以执行的VBA代码(宏程序),结构是这样的: 输入Sub 程序名() 然后回车,End Sub就会自动输入。 五、常用的VBA代码
到了这一步,相信大家已经大概掌握了VBA的简单操作,下面就让我们来给大家分享几个常用的VBA代码吧,短短几行,就能让你的办公效率得到质的飞跃~
示例1:批量取消隐藏工作表
如果需要取消隐藏的工作表很多,右键选择【取消隐藏工作表】就会显得很繁琐,我们只需要几行VBA小代码就刻意搞定啦! Sub qxyc() Dim sht As Worksheet '定义变量 For Each sht In Worksheets '循环工作簿里的每一个工作表 sht.Visible = xlSheetVisible '将工作表的状态设置为非隐藏 Next End Sub 示例2:判断身份证号的位数是否正确 这样的一组号码,不考虑号码的信息正误,只看位数,你很难知道它是否是18位,那么此时用代码来处理,就显得很方便了,如下:Sub 判断身份证号位数正误() With Sheets("IF判断语句") For i = 2 To 10 If Len(.Cells(i, 1)) = 18 Then .Cells(i, 2) = "18位" End If Next i End With End Sub
Line1:使用工作表“IF判断语句”作为代码中引用对象的统一父级对象; Line2:规定循环变量i的范围为2到10,因为我们是遍历单元格,逐行判断,所以循环变量应该以单元格的行号作为循环依据,所以是ROW2到ROW10; Line3:Cells(i, 1)说明是某一行和第一列的交点单元格,当i变量为2,3,4,…,10时,对应的单元格地址就是A2,A3,A4,…,A10。用LEN函数提取单元格字符串的长度,判断是否等于18; Line4:如果判断条件满足,则Cells(i, 2)对应的B列单元格中输入“18位”; Line5:判断语句的结束语句; Line6:循环语句的结束语句; Line7:With语句的结束语句。 示例3:批量重命名工作表 工作表默认的名称是Sheet1这种,对我们查找数据时很不方便,我们想批量给他改名怎么操作呢? Sub 修改工作表名称() Dim i As Long For i = 2 To Sheets.Count Sheets(i).Name = Sheets(i).Range("C2") Next End Sub 在编写代码时经常要测试是否正确。测试方式是把光标放在代码行的任意位置,点击运行小按钮。要想执行VBA代码,我们只需要右键点击指定宏-选择编写的宏名称即可。另外,有个点要特别注意,我们在保存文档的时候,【保存类型】要选择为“启用宏的工作簿”类型,这样我们辛苦写出来的VBA代码才能保存下来。
|