ad

跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_3.4.2 With 语句的嵌套

网友投稿 162 2023-11-07

【摘要】 本书摘自《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》一书中第3章,第4节,韩小良著。

3.4.2 With 语句的嵌套: With 语句的子对象

无言:代码3-30虽然看起来短了不少,但其实还是有点长了。我们现在是统一购票进门, 但是人还是有点多,还是需要排好队,大人牵着自己小孩的手进门更好。

代码3-30虽然比代码3-29中精短了不少,但其实代码3-29中还有2层对象——一个是 Range("A1").CurrentRegion连续区域对象,另一个是定位后获取单元格对象,这里就拆分了2 层对象,对于同一对象下的下层对象也可使用With语句进行嵌套,就像大人牵着小孩的手进场 一样。

With…End With 语句的嵌套方式如图3-43所示。

With 第1层对象

跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_3.4.2 With 语句的嵌套

With.第2层对象(该层对象必须包含在上一对象之下,即子对象)

中间语句

WithO 进n 层对象《该层对象必油包含在上一对象之下,削子对象)

中间语句

End #ith—n层结束语句

End With

制接上一莹的对象mth 的 当

前讨象前都必绩有一个-;作

为引用土一级前时象前标乐”

With .第2-n层对象(该层对象必幼包含在上一对象之下,即子对象)

中间语句

End With‘第n层结束语句

第1层中间语句

End With '第1层结束语句

无言: 图3-43中列明了With语句的嵌套方式,在嵌套引用上一层对象时,在当层对象和

With之间必须要用。把上层的对象关联起来,否则也将出现处理对象不当的错误,即上下对象 无关联,如下所示。

With Range("Al")

.VerticalAlignment =True

.HorizontalAlignment =True

.Interior.Colorlndex =20

With Font

.Colorlndex =3

End With

With.Borders

.LineStyle =1

.Colorlndex =3

End With

End With

上面示例红色部分由于没有指明上一层的对象为A1 单元格,而只是指明了当前层要使用 的对象为字体,此时Font的父对象为空,而无法对A1 单元格的字体颜色设置,此语句变为无 效语句。

无言:在使用多层嵌套With对象时,内层对象前都必须要有圆点(.)来标示它们的层级 关联。更多层的With嵌套时,建议先把当前层的语句外壳书写完整后,再缩进书写内层嵌套语 句,防止由于层次过多造成纰漏。

皮蛋:明白了,那继续单元格定位设置的代码吧。

无言:将刚才的示例修改为如下:

并根据上面对象层次关系将With 引用分为两部分,修改后的如代码3-31所示。

1|Sub LongToBriefCode020

21 With Rows(1)'第1行的范围

3| With.SpecialCells(xlCellTypeConstants,23)‘定位常量的区域

4| .VerticalAlignment =xICenter 垂直居中

51 .HorizontalAlignment =xICenter '水平居中

6| End With

7| End With

8| With Columns(1)'第1列范围

9| With SpecialCells(xlCellTypeConstants,23)“定位常量的区域

10| .VerticalAlignment =xICenter 垂直居中

11 .HorizontalAlignment =xlCenter '水平居中

End With

End With

With Range ("Al").CurrentRegion

With .SpecialCells(xICellTypeConstants,23)

.Font.ColorIndex =3

.Interior.Colorlndex =20

End With

With.Borders

.LineStyle=1

.Colorlndex =3

End With

End With

End Sub

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《Excel VBA跟卢子一起学早做完,不加班(实战进阶版)》_提升工作效率_1.2 修改或增加批注
下一篇:达人之路·《高效办公应用宝典公式·函数与VBA》_3.1 错误公式的重新编辑
相关文章
×