人气 3710

[Excel技巧] 快速入门Excel宏和VBA [复制链接]

老笠 2017-6-27 16:46:18
1、 什么是宏
宏即重复执行的一系列操作过程,如果要使用宏,要先要打开“开发工具”选项卡,Excel选项→常用→勾选:在功能区显示”开发工具“选项卡,如下图:

1498552440583941.jpg

1498552440583941.jpg

然后要启用宏:“开发工具”→“宏安全性”→勾选“启用所有宏”,如下图:

1498552455136479.jpg

1498552455136479.jpg

2、宏的制作方法宏可以录制,也可以手工编写,手工编写的宏就是VBA代码。
2.1 录制宏通过录制的方法把在Excel中的操作过程以代码的方式记录并保存下来,即宏的代码可以用录制的方法自动产生。如下面录制一个自动在页脚中插入页码和总页数。“开发工具”→“录制宏”→输入宏名:在页脚中插入页码和总页数→“确定”→“插入”→“页眉和页脚”→“转到页脚”→“页码”→输入"/"→“页数”,此时在页脚中会显示:&[页码]/&[总页数]→点击到数据区→“视图”→“普通视图”→“开发工具”→“停止录制”。以上过程完成后,当你打印预览时,会发现在页脚有插入页码。
“开发工具”→宏,会打开如下图的对话框,你会发现在对话框中多了一个宏:

1498552476973766.jpg

1498552476973766.jpg

单击“编辑”,会打开代码窗口,如下:

1498552503332893.jpg

1498552503332893.jpg

你刚才的所有操作,就会以代码的形式记录下来。
其中关键的代码如下:Sub 在页脚中插入页码和总页数()ActiveSheet.PageSetup.RightFooter = "&P/&N"End Sub当你切换到其它工作表,执行上述宏时,会自动插入有页码和页数的页脚。当然,在其它工作簿的工作表中同样可行。同时,上述的录制过程也可以设置而边距和插入一个工作表名称的页眉做为表头。这样当你打印工作表时,就不需要每次都为不同的工作表而设置打印格式了。
2.2 编写宏就是在上述的代码窗口(VBE编辑器中)直接手工输入操作过程的代码,编写的宏代码也就是我们常说的VBA代码。如为Excel的全部工作表设置一个目录页,手工输入代码如下:

1498552527106464.jpg

1498552527106464.jpg

Sub Excel创建工作表目录()Application.ScreenUpdating = FalseOn Error Resume NextApplication.DisplayAlerts = FalseSheets("工作表目录").DeleteApplication.DisplayAlerts = TrueSheets.Add(before:=Sheets(1)).Name = "工作表目录"Range("A1:B1") = [{"编号","目录"}]For i = 2 To Sheets.CountCells(i, 1).Value = i - 1ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 2), Address:="", SubAddress:=Sheets(i).Name & "!A1", TextToDisplay:=Sheets(i).Name, ScreenTip:="单击打开" & Sheets(i).NameNextRange("A1").SelectEnd Sub代码运行效果如下:当然,对于菜鸟来说,要编写这些代码也是需要一个学习过程的。幸运的是,在网络上面可以搜索到大量的完成特定功能的已写好代码,拿来即可使用。
2.3 录制宏和编写宏的区别录制宏是用录制的方法形成自动执行的宏,而编写宏是在VBE编辑器中通过手工输入VBA代码。录制宏只能执行和原来完全相同的操作,而编写的宏可以识别不同的情况以执行不同的操作。编写的宏要比录制的宏在处理复杂操作时更加灵活。编写宏可以应用变量、编写判断选择结构和循环结构,从而让宏代码功能变得更加强大。
3、宏的运行原理运行的宏为什么能自动执行一系列操作呢?宏是保存在Visual Basic模块中的一组代码,这些代码可以是自动录制的,也可以是手工编写的。正是这些代码驱动着操作的自动执行。
4、保存宏代码当代保存含有宏代码的工作簿时,会出现以下提示对话框:

1498552553766396.jpg

1498552553766396.jpg

此时,单击“否”,保存类型选择"xlsm“即可保存包含宏代码的工作簿,如下图如示:

1498552569998423.jpg

1498552569998423.jpg

这样,当下次打开此工作簿时,可再次使用编写好的宏。
5、全部工作簿都可运行的宏把代码保存到personal.xlsb工作簿的模块中即可,如下图所示:

1498552587132172.jpg

1498552587132172.jpg
您需要登录后才可以回帖 登录 | 立即注册

QQ|手机版|精益人 ( 沪ICP备19004111号-1 )

GMT+8, 2024-6-19 03:18 , Processed in 0.229911 second(s), 22 queries .

Powered by Lean.ren X3.5 Licensed  © 2001-2030 LEAN.REN