二维码 购物车
部落窝在线教育欢迎您!

别怕,宏其实很简单!VBA入门教程之元素篇!

 

作者:赋春风来源:部落窝教育发布时间:2022-02-16 17:21:29点击:1199

分享到:
0
收藏    收藏人气:0人
版权说明: 原创作品,禁止转载。

编按:

当今信息时代,会电脑的人基本上都在用Excel,对于更深的Excel高级技巧(宏),知道的人很多,掌握的却寥寥,今天就来给大家介绍一下宏程序的元素,因为只有掌握了宏程序的基本元素,用起来才能得心应手。

 

一、对象与集合介绍

1、何为对象

“对象”代表应用程序中的“元素”。如果在宏模块中输入语句“Range(“A1”)=2022”,则表示在A1单元格中输入“2022”的数据,换句话说,“Range(“A1”)”即表示A1单元格。“Range(“A1”) ”就是对象。

 

 

再举个例子,工作簿为Workbook对象,工作表为Worksheet对象,单元格为Range对象,所有的操作目标都是对象。最初的“Range(“A1”)=2022”是对A1单元格的Range对象输入了“2022”的数值。

 

 

2、何为集合

集合是一种特殊的对象,它是一个包含多个同类对象的对象容器。比如,工作表是以Worksheet这个对象来表示,但是,大部分的工作簿中都包含有多个工作表,因此位于同一个工作簿中的所有工作表便以Worksheets来表示。像这样由多个对象组成,称为集合。

表示对象时,有的会以“集合中的1个”来进行指定。

例如,聚集多个单张工作表(Worksheet)的集合为Worksheets,在指定其中的“Sheet2”这个特定的工作表时,就会使用像“Worksheets(“sheet2”)”这种表示方法来记录。



如果要是表示工作表中的一个单元格,就指定工作表及其单元格两个部分。例如工作表Sheet2A1单元格应指定成“Worksheets(“Sheet2”).Range(“A1”)”。注意,要在两者之间加上“.”来表示。

当执行下面的宏,在工作表Sheet2A1单元格中就会输入“新春快乐”。

 

 

二、属性介绍

1、何为属性

如果假设“对象”为小狗,则“属性”即为小狗的“重量”、“颜色”等。直接通过一个小例子来介绍“属性”,下面是“把A1单元格的列宽设置为40”的宏代码。


 

这里,“Range("A1")”表示的是A1单元格,而“ColumnWidth”则用来表示列宽。类似于“ColumnWidth”这种对“对象”的设置,便称为属性。属性还有很多,如,“RowHeight”表示“行高”的属性,“Value”表示“值”的属性。

 

属性要写在对象的后面,要在两者之间加上“.”。也就是“对象.属性”这样的形式。同样如果编辑器中输入“Range("A1"). RowHeight=40”就会将A1单元格的行高设置为40

 

之前我们写过“Range(“A1”)=2022”,就是将数据“2022”输入到A1单元格中,但像这样直接将数据输入到对象的做法本来是不允许的。正确写法是“Range(“A1”). Value=2022”。但是, Excel中有把“Range(单元格)”作为“Range(单元格).Value”来处理的规则,因此,就算省去了 “Value”属性也能顺利运行。

 

2、实际练习

下面,让我们通过设置字体和颜色来巩固一下 “对象”、“属性”的相关知识吧!

 

要求:将“A1:I1”单元格区域的字体大小设置为12,颜色设置为红色。需要说明“ColorIndex”为设置“颜色”的属性,“Size”为设置“大小”的属性。

 

1.分析

如果以“Range(“A1:E1”).Size”来设置适当的值,似乎就能简单的更改字体大小,实际上仅仅这样操作就会发生错误。属性并非对任何对象都能设置。不能直接对“Range”对象设置“Size”属性。要对“Font”对象设置 “Size”属性。“Font”是表示字体属性的的对象。“Font”对象位于“Range”对象的下一级。因此,将“A1:I1”单元格区域的字体大小设置为12的语句为“Range("A1:E1").Font.Size = 12” 。同样,使用“ColorIndex”为设置颜色编号的属性,其颜色编号与颜色的对照为,黑色代码为1,白的代码为2,红色代码为3,绿色代码为4,蓝色代码为5,黄色代码为6,紫色代码为7,青色代码为8,将“A1:I1”单元格区域的字体颜色设置为红色的语句为“Range("A1:E1").Font.ColorIndex = 3” 。

 

2.具体步骤

①单击“开发工具”选项卡下的“代码”选项组中的“Visual Basic”按钮。

②打开“Visual Basic”窗口,选择“插入”、“模块”选项,弹出“工作簿-模块1”窗口。

③将以下代码输入或复制到“工作簿-模块1”窗口中。

Sub 更改字体()

Range("A1:I1").Font.Size = 12

Range("A1:I1").Font.ColorIndex = 3

End Sub”

其中,Sub是宏过程,End Sub是结束宏过程,一个过程就是执行某项动作的一套指令,Sub过程不返回运行的结果,在这个过程中需要执行的代码放在中间。

④编写完宏后,选择“文件”、“关闭并返回到Microsoft Excel”选项,即可关闭窗口。

⑤在“开发工具”选项卡下“代码”选项组中的“宏”按钮上单击,在弹出的快捷菜单中选择“执行”命令。即可运行宏。


 

三、方法介绍

1.何为方法

所谓“方法”就是指针对“对象”所进行的处理,以“清除”和“删除两个为例来说明“方法”的应用。在清除单元格区域时,要对“Range”对象使用“Clear”方法,例如清除单元格区域“D1:D10”时,就可执行“Range("D1:D10").Clear”的宏。这个宏表示对Range("D1:D10")对象执行“Clear”方法。在编写时,对象和方法之间也要加上“.”。


 

刚才的“清除”是用来清除设置在单元格中的值,但单元格还会被保留下来,下面来学习“删除”操作的宏,该操作会将单元格本身整个删除。因此,单元格被删除后,其工作表中的单元格结构也会发生变化。删除单元格区域的方法为“Delete”,下面的宏会删除单元格区域“D1:D10”。执行“Range("D1:D10").Delete”的宏。这个宏表示对Range("D1:D10")对象执行“Delete”方法。在编写时,对象和方法之间也要加上“.”。


 

2.方法的参数

在方法中设置细节的工作便成为“参数”。比如以“Delete”方法删除的移动方向也能由用户自行指定,下面让其删除后向上移动的设置,“Range("D4:D7").Delete xlShiftUp”,输入方法“Delete”后空一格再输入“xlShiftUp”,就可以当“D4:D7”被删除后“D8:D10”单元格自动向上移动。


 

OK,今天春风通过浅显易懂的语言,为小伙伴们介绍了宏中涉及到的“对象”、“属性”、“方法”,希望大家下次遇到这些元素时对他们不再陌生。

 

本文配套的练习课件请加入QQ群:902294808下载。

Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!

扫下方二维码关注公众号,可随时随地学习Excel

IMG_256

相关推荐:

将excel中的数据按照指定数量进行重复,非得用VBA才能实现吗?

如何在特定位置批量插入空行等12种实用办公技巧

4种删除excel重复值的小妙招,速收藏

Power Query的数据替换技巧比Excel函数更万能!

版权申明:

本文作者赋春风;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。