VBA之基础知识(1)宏1

2022-02-18 21:29:39 3点赞 68收藏 1评论

作为已经能够熟练使用Excell的用户,你一定对Excell强大的功能感到满意。现在,你将逐步提高到更高的水平。即使你以前从来没有编写过程序,也能够使用Visual Basic for Application开发出解决方案。VisualBasic for Application是现在可用的最容易学习、最容易使用同时也是最复杂的应用程序自动化语言(过去常常称为宏语言)之一。在本文中,通过熟悉宏录制器,将开始了解有关的基础知识。

目录

  * Visual Basic for Application是什么
  * Excel环境中基于应用程序的自动化的优点
  * 录制一个简单的宏
  * 执行宏
  * 编辑宏
  * 宏录制器的局限性

1  Visual Basic forApplication是什么
   目前,Visual Basic for Application是非常流行的应用程序开发语言—VisualBasic的子集。实际上,VBA是“寄生于”VisualBasic应用程序的版本。VBA与Visual Basic的区别包括如下几个方面:

  * Visual Basic是设计用于创建标准的应用程序,而 VBA是用于使已有的应用程序自动化。
  * Visual Basic 具有自己的开发环境,而VBA必须“寄生于”已有的应用程序。
  * 要运行Visual Basic开发的应用程序,用户不用在他的系统上访问Visual Basic,因为Visual Basic开发出的应用程序是可执行的。而由于VBA应用程序是寄生性的,执行它们要求用户访问“父”应用程序,例如Excel。
  尽管存在这些不同,Visual Basic和VBA在结构上仍然非常相似。事实上,如果你已经了解了Visual Basic,会发现学习VBA非常快。相应地,学完VBA会给Visual Basic的学习打下坚实的基础。而且,当学会在Excell中用VBA创建解决方案后,你就已经具备了在Word、Project、Access、Outlook、FoxPro和PowerPoint中用VBA创建解决方案的大部分知识。

VBA究竟是什么?更确切地讲,它是一种自动化语言,可以用它使常用的过程或者进程自动化,可以创建自定义的解决方案,此外,如果你愿意,还可以将Excel用做开发平台实现应用程序。

2  Excel环境中基于应用程序的自动化的优点
  你也许希望知道可以用VBA干什么。使用VBA可以实现的功能包括:
  * 使重复性的任务自动化。
  * 自定义Excell中工具栏、菜单和窗体的界面。
  * 简化模板的使用。
  * 为Excell环境添加额外的功能。
  * 创建报表。
  * 对数据执行复杂的操作和分析。

3  录制简单的宏
  在介绍学习VBA代码之前,应该花几分钟录制一个宏。Excel的宏录制器允许记录一系列的操作,并且将这些操作转换为VBA代码。即使当你对编写VBA代码已经完全熟练时,也会在工作时使用宏录制器。作为VBA开发者,使用宏录制器有两个原因。一个原因是因为使用宏录制器可以节省时间,开发者通常用它来建立应用程序的基础。另一个原因是宏录制器可以用作教学工具,如果你不能确定如何编写一系列的步骤,可以进行录制,再查看代码。
宏指一系列以Excel能够执行的名字保存的命令。
以下将要录制的宏非常简单,只是改变单元格的字体和颜色。虽然有其他方法可以实现这种类型的任务(例如风格、自动套用格式等等),但是这一系列步骤为宏录制器提供了很好的示例。请完成如下步骤:
  1)打开新的工作簿,确认所有其他工作簿已经关闭(如果它们包含宏或者其他VBA代码),以便能够很容易地对录制的宏进行定位和处理。
  2)在单元格A1中输入“小朱”,在单元格B1中输入“世界”,在单元格C1中输入“很简单”,在单元格D1中输入“ !”。以上操作为下面的练习提供用来处理的数据。
  3)选中单元格A1。
  4)选择“开发工具”、 “录制宏”,显示如下图1所示的“录制宏”对话框。

5)输入“宏1”作为宏名,键入回车开始录制宏。注意此时Excel应用程序窗口的状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。
  6)将字体大小设为16,将字体颜色设为红色
  7)单击excel表左下方的 “停止录制”工具栏按钮 ,结束宏录制过程。

VBA之基础知识(1)宏1

  • 4  执行宏
      当执行一个宏时,它按照录制宏时相同的步骤进行操作。要执行一个宏,可按照如下步骤:
      1)选择单元格B1。
      2)选择“开发工具”、“宏”,显示“宏”对话框,或按下Alt+F8键也可以显示“宏”对话框

  • 3)选择“宏1”,选择“执行”,则单元格B1中的字体变为16磅和红色。

  •   4)选择单元格C1和D1,再次运行宏“宏1”。尽管最初录制宏时只改变了一个单元格的字体,此时两个单元格的字体都变为16磅和红色。见下图2

VBA之基础知识(1)宏1

5  查看录制的代码
  当执行希望保存到宏中的步骤时,Excel将操作步骤转化为VBA代码。要查看生成的代码,可按照如下步骤:
  1)选择“开发工具”、“宏”,显示“宏”对话框。
  2)选择“宏1”,单击“编辑”,此时会打开 Microsoft Visual Basic编辑器窗口,如下图3所示。

VBA之基础知识(1)宏1

Microsoft Visual Basic编辑器包括几部分组件。在以后的文章中将会展示更多有关Visual Basic组件的知识。现在应该将注意力集中到显示的代码上。显示的代码应该和下面代码是一致的

Sub 宏1()

' 宏1 宏

With Selection.Font

.Name = "等线"

.Size = 16

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline =xlUnderlineStyleNone

.ThemeColor =xlThemeColorLight1

.TintAndShade = 0

.ThemeFont =xlThemeFontMinor

End With

With Selection.Font

.Color = -16776961

.TintAndShade = 0

End With

End Sub

代码的第一行“Sub 宏1( )”表示了宏的起点和名字,接下来的以单引号开头的行为注释行,表示与宏有关的说明,在本例中包括宏的名字。
  宏实际工作的部分是从“with”开始的。注意单词“Selection”,Selection在VBA中用来表示突出显示的部分,这就是不论选择一个或者多个单元格宏都能正常工作的原因。你可能注意到的另一点是录制的内容比执行的操作要多得多。你仅仅改变了字体的大小和颜色,但是所有的字体信息都从“单元格格式”对话框的“字体”选项卡中录制下来。

6  编辑录制的代码
  编辑代码可在Visual Basic编辑器中直接进行。可添加代码行、删除行或者修改行。要做的第一件事是删除录制下来的多余的行,可按照如下步骤:
  1)突出显示以“.Name”开始的行。
  2)删除该行。不用担心产生的空行,VBA忽略空行。
  3)继续删除多余的行,直至过程和下面的代码相同:
 Sub 宏1()

' 宏1 宏

With Selection.Font

.Size = 16

.Color = -16776961

End With

End Sub
  4)关闭Visual Basic编辑器窗口,返回工作簿。
  5)在单元格A3中输入“test”。
  6)选中单元格A3,运行宏“宏1”。注意宏运行的结果与删除宏中的多余的代码行之前完全相同。
  7)选择“工具”、“宏”、“宏”。
  8)选择“宏1”,单击“编辑”按钮。
  9)现在,当运行这个宏时,字体大小设置为16。编辑这个宏将字体大小设置为24。完成后的宏应该和如下代码相似。

10)关闭Visual Basic编辑器窗口。
  11)选中单元格A1,运行“宏1”宏。现在该单元格的字体会变得更大。
  12)将工作簿保存为“我的第一个宏”。

VBA之基础知识(1)宏1

 现在可以看到编辑录制下来的宏非常简单。需要对宏进行编辑是因为以下两个原因。其一是在录制宏时出错;另一个原因是希望对宏的功能进行改变。不论是因为哪个原因,总是可用Visual Basic编辑器对宏进行编辑。

7  宏录制器的局限性
  希望自动化的许多Excel的操作过程都可以通过对操作进行录制来完成。但是宏录制器确实具有一定的局限性。通过宏录制器不能完成的工作包括:
  * 当宏运行时向用户提示信息。
  * 根据用户的输入或者单元格的数值执行不同的操作。
  * 相似Excel的对话框,例如“另存为”对话框。
  * 显示和使用自定义的用户窗体。
  这些局限性仅仅是需要编写你自己的VBA代码的原因的一部分。在下一学时中,将更多地使用宏录制器。

8  释疑
  问题:用VBA编程为什么需要了解宏录制器?
  解答:了解宏录制器有两个主要的好处:你掌握的有关宏录制器的知识可以成为学习VBA的基础;此外,当开始开发应用程序时,你会发现,可以先录制尽可能多的宏,然后再对录制下来的代码进行修改。
  问题:如果我从未编写过程序,学习VBA是否有困难?
  解答:没有!开始用VBA进行编程只需了解Excel。在开发解决方案时将用到在Excel方面的知识。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

106元起

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

159元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

328元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

106元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

299元起

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

279元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

185元起

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

676.4元起

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

249元起

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

暂无报价

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

439元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

59.85元起

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

1288元起

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

239元起

Microsoft 微软 办公软件 优惠商品

Microsoft 微软 办公软件 优惠商品

239元起
1评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
68
扫一下,分享更方便,购买更轻松