excel 2007 vba与宏完全剖析_教Excel VBA初学者编写第一个宏

学习Excel技术,关注微信公众号:

excelperfect

要在Excel中编写宏程序,首先需要了解VBA语言,而快速入门的技巧就是使用宏录制器。

宏录制器就像一台录音机,可以使用VBA监听和记录你在Excel中所做的一切操作。对于初学者来说,你可能不了解VBA,这里,我们会使用宏录制器来记录我们的操作,然后看看记录的指令(也就是代码),以了解VBA是什么。

下面我们来编写第一个VBA宏程序。其功能非常简单,将选择的单元格中的字体设置为加粗、斜体并将其颜色设置为红色。

第1步:选择任意单元格,开启宏录制器

很简单。只需选择任意单元格,然后到功能区“开发工具”选项卡“代码”组中,单击“录制宏”按钮,如下图1所示。(也可以在选择单元格后,直接单击Excel界面左下角的“录制宏”按钮)

dda45aa6e101051afbc498a8c4562b83.png

图1

第2步:给宏命名

在弹出的“录制宏”对话框中,在“宏名”文本框中输入录制的宏的名字,本示例将宏命名为“SetFontandColor”,如下图2所示。单击“确定”关闭“录制宏”对话框。注意,如果不指定宏名,Excel会以宏1、宏2来自动给宏命名。

1baafde964aeabc24f6104da4c7eafad.png

图2

第3步:在Excel中执行操作

回到Excel工作表界面,单击功能区“开始”选项卡“字体”组中的“加粗”、“倾斜”按钮,然后单击“字体颜色”下拉按钮设置为红色。

第4步:停止录制

现在,你已经在Excel中执行完想要的操作。回到“开发工具”选项卡,单击“代码”组中的“停止录制”按钮,如下图3所示。(同样,可直接单击Excel界面左下角的“停止录制”按钮)

8f685257551e676978f90013f47a7156.png

图3

第5步(可选):将宏指定给按钮

单击“插入”选项卡“插图”组中的“形状”按钮,在工作表中绘制一个矩形并设置合适的格式。然后,在矩形中输入文本“选择单元格后单击我”。接着,在矩形中单击右键,从快捷菜单中选择“指定宏”命令。在弹出的“指定宏”对话框中选择刚才录制的宏“SetFontandColor”,单击“确定”按钮,如下图4所示。

e0cd58583ca2032adc7f9e225dbca4db.png

图4

步骤6:验证录制的宏的效果

选择任意单元格,单击“选择单元格后单击我”,可以看到所选单元格中的文字变成红色加粗斜体。

6a8e6240117b1696cc596cd3335d8a8a.gif

下面,我们来看看并试着理解录制的宏代码。

单击功能区“开发工具”选项卡“代码”组中的“Visual Basic”按钮,如下图5所示。

f90a49b929a076c7a312c3f7215cd51b.png

图5

或者,选择任一工作表标签,单击右键,在快捷菜单中选取“查看代码”命令,如下图6所示。

7895f9a25a26e02a5a2f6de099986840.png

图6

或者,最快速的方法是按Alt+F11键。

打开VBE编辑器(Visual Basic Editor),如下图7所示。在VBE中,你可以查看或编辑VBA代码。

ed60a2ef2e0ebfafb4e9797649025cf8.png

图7

在VBE的工程资源管理器窗口中,双击“模块1”,可以看到SetFontandColor代码如下:

Sub SetFontandColor()

'

' SetFontandColor 宏

'

'

    Selection.Font.Bold = True

    Selection.Font.Italic = True

    With Selection.Font

        .Color = -16776961

        .TintAndShade = 0

    End With

End Sub

代码中:

  • Sub SetFontandColor()告诉Excel正在编写一组新的指令。单词Sub表示VBA的下列行是子过程(或子程序)。在计算机术语中,这是一组相关的指令,必须一起执行操作才有意义。当Excel看到End Sub时,子过程结束。

  • 以单引号(‘)开始的行:表示该行为注释,其作用是便于理解程序。Excel将忽略单引号开始的行。

  • Selection.Font.Bold = True将所选单元格字体设置为粗体。

  • Selection.Font.Italic = True将所选单元格字体设置为斜体。

  • With Selection.Font虽然对你我来说,设置红色字体似乎是一个步骤,但实际上对计算机来说可能不只一步。并且,每当需要对同一事物执行很多操作(如本例中为选定的单元格)时,最好将它们全部捆绑在一起。这是With语句出现的地方。当Excel看到WithSelection.Font时,Excel会认为:“好吧,我将对“选定单元格”的字体进行操作,直到看到EndWith。

  • With语句块内的行:告诉Excel对所选单元格的字体进行操作。本例中,最关键的是.Color= -16776961,告诉Excel将所选单元格字体设置为红色。

  • End With结束With语句块。

  • End Sub结束名为SetFontandColor的宏过程。

要理解这段代码,你可以修改语句,再执行SetFontandColor过程,看修改后的结果。例如,你可以将:

  • .Color = -16776961修改为.Color=65。

  • 将.TintAndShade= 0删除。

  • 甚至按上述所说的,将对Selection.Font的操作全部放在一起:

Sub SetFontandColor1()

'

' SetFontandColor 宏

'

'

    With Selection.Font

        .Bold = True

        .Italic = True

        .Color = -16776961

        .TintAndShade = 0

    End With

End Sub

当然,一个程序中还可能涉及到变量、条件语句、循环语句等。另外,也会出现如上面示例程序中的许多其他的对象名称及其方法和属性,让我们在后续的示例学习中慢慢接触并探索吧。

[预告]在知识星球App:完美Excel社群中,即将推出电子书《100+个有用的ExcelVBA代码》,相信对于学习和使用ExcelVBA的朋友来说,特别是对于初学者来说,一定会有很好的帮助。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

31ef46e8343ed2b673854da0f40ee21e.png

完美Excel社群假期动态

#话题# 祝愿大家中秋国庆双节快乐!新的电子书已在路上

#电子书# 《使用VBA操控Excel界面》下载

#预告# 假期后半段,计划发布一本关于Excel VBA代码的电子书

#话题# 白话Excel VBA的概念

#电子书# 分享《无需计算机的计算机科学》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值