我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效使用office为其服务。支持我,也为自己加油!
通过前面十二节课程的介绍,大家已经了解了VBA中的对象、属性、方法,Sub过程的基本结构,代码的调试方法,变量及其声明方式等等,有了这些知识的储备,我们就可以正式进入代码部分了。
观察一下我们做合并工作表以及一些其它任务的VBA代码时就会发现,我们经常能看到一些固定结构的语句,当然可能很多同学还看不懂,不要着急,一步步来。
这些固定结构的语句可以实现循环、逻辑判断等等目的。VBA中的常用语句有70多种,今天我们来学习最常用的四种语句中的第一种。
1、With语句,号称是简化代码的利器。
正常情况下我们完成下列需求:
选择单元格A1,设置字体加粗,倾斜,加下划线,底色为黄色。
代码如下:
Sub 宏1() Range("A1").Font.Bold = True Range("A1").Font.Italic = True Range("A1").Font.Underline = xlUnderlineStyleSingle Range("A1").Interior.Color = 65535 End Sub
单元格的表达方式,Range("单元格地址"),这是一种固定的写法,大家可以模仿着写。
上面代码中,2到5句的对象是Range("A1"),后面跟着的是属性,等号后面是属性值。
也就是说,同样一个对象,想要对其不同的属性赋值,每一句都要 对象.属性=属性值。如此,每个属性前面的对象都要重复写。
用With正好可以解决这个事情。
结构如下:
With 对象
.属性1=属性值
.属性2=属性值
.属性3=属性值
……
.属性N=属性值
End With
上面代码修改后如下:
Sub 宏2()With Range("A1") .Font.Bold = True .Font.Italic = True .Font.Underline = xlUnderlineStyleSingle .Interior.Color = 65535End WithEnd Sub
这就是VBA中的With语句,当需要重复操作某个对象,或者重复对某个对象的不同属性进行赋值时就可以使用With语句。这样就可以避免每次都要重复写对象了,同时代码在运行时也不需要重复读读取对象。
With语句中还可以嵌套With语句,比如上面的代码再进行精简:
Sub 修改后2() With Range("A1") With .Font .Bold = True .Italic = True .Underline = xlUnderlineStyleSingle End With .Interior.Color = 65535 End WithEnd Sub
理解上面的代码,With语句就算掌握了。
今天的分享就到这里,希望对大家有所帮助!鼓励一下,赞完再走