VBA简单入门21:With……End With语句消除对象变量

VBA简单入门21:With……End With语句消除对象变量


假如单元格A1的值为666.66,要对A1单元格进行一系列的操作,比如更改单元格格式、改变字体颜色、背景颜色、字号、字体类型等等。

用录制宏来记录操作,代码如下。

VBA简单入门21:With……End With语句消除对象变量

从上图中,可以看到录制宏里面使用了 With...End With结构。

With...End With是一个整体,有With必然要有End With,否则会报错。

With...End With结构里面消除了对象,用 “ . ” 【点】代替,并且 “ . ” 不可省略,否则容易出错。

又如,要对Range("a1"),作下列操作,一般代码的写法是:

Range("a1").Font.Name = "宋体"

Range("a1").Font.Size = 20

Range("a1").Font.Bold = True

Range("a1").Font.Color = 255

这样每次都要引用对象Range("a1")一次,总共引用了4次。

用With结构,只需要引用一次即可,同时代码简化美观,因减少了对象的引用,效率更佳。

With Range("A1").Font

.Name = "宋体"

.Font.Size = 20

.Font.Bold = True

.Font.Color = 255

End With

注意:With结构遵循的也是 对象.属性(方法) 这样的语法规则,所以 “ . ” 一定要记得写上。

VBA简单入门21:With……End With语句消除对象变量

上述代码有2个With结构,外面的With新建一个工作表,名称为“转角遇到爱”。

里面的With在单元格A1输入“转角捡到钱”,并将字体设为 微软雅黑。

【总结】

如需要频繁的引用同一个对象,使用With...End With结构技能美化代码,又能提高效率。



分享到:


相關文章: