ad

跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_3.4.1 统一购票进门: With…End With

网友投稿 149 2023-11-07

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

3.4.1 统一购票进门: With…End With

无言:看完了With语句,它其实就是将原来多次对同一对象引用的简化。

相当于公司中的每个人各自去售票处买票,这样每次售票员就需要撕一张票并记录公司名 称,但是现在变成公司统一为大家去买票,售票员现在只需要记录一下公司名称和所需票数即 可,而无需每人每次都记录。

无言:代码3-28过程简单易懂,现在这段貌似厉害的代码(见代码3-29),给你的感觉是 什么?

跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_3.4.1 统一购票进门: With…End With

1|Sub LongCode )

21 Range ("Al").CurrentRegion.SpecialCells(xlCellTypeConstants,23),Font.Colorlndex=3

3| Range("A₁").CurrentRegion.SpecialCells(xICellTypeConstants,23),Interior.Colorlndex =20 4| Rows(1).SpecialCells(xICellTypeConstants,23):VerticalAlignment =True

5| Rows(1).SpecialCells(xICellTypeConstants,23).HorizontalAlignment =True

6| Columns(1).SpecialCells(xICellTypeConstants,23),VerticalAlignment =True

71 Columns(1).SpecialCells(xICellTypeConstants,23).HorizontalAlignment =True

8|Range("A1").CurrentRegion.Borders.LineStyle=1

9| Range ("Al").CurrentRegion.Borders.Colorlndex =3

10|End Sub

皮蛋: 这个代码是干什么用的呢?看的我眼花缭乱!

无言:这个代码是用于设置单元格的字体颜色、单元格底色、单元格水平和垂直的居中, 还有单元格的边框线及其颜色。

? 皮蛋:这里面我就认得Range 、Columns 、Rows等几个词。

代码3-29示例过程中可以将过程拆分为4小段分解:

(1)第2句以A1 单元格的连续区域中使用Excel的定位功能 (SpecialCells) 定位区域中 的常量数据,并设置定位选中单元格的字体颜色主题(FontColorlndex)为红色(3);第3句是重复 上一句的定位方法后设置定位选中单元格的底色颜色主题(Interior.Colorlndex)为浅蓝色(20)。

(2)第4句和第5句在第1行(Rows(1)) 中的常量单元格,并设置其水平和垂直 (HorizontalAlignment 和VerticalAlignment)对齐方式为居中(xlCenter)。

(3)第6句和第7句则是在第1列 (Columns(1))定位并选中含有常量的单元格,并设

置其水平和垂直 (HorizontalAlignment和 VerticalAlignment) 对齐方式为居中(xlCenter)。

(4)第8句和第9句则是运用获取 A1 连续单元格区域 (CurrentRegion) 并将设置该区

域的边框 (Borders) 的框线 (LineStyle) 为实线和颜色主题 (Colorlndex) 为红色。

无言:这段代码虽然看起来很乱很长,但其只作用于3个对象 — Range、Rows 和 Columns, 并设置对象的相关属性。因为多次设置相同的对象,但因通过定义同类型的变量 而没有使用With语句,使得语句看起来十分杂乱,如图3-41重复使用同一对象方法的位置所示。

皮蛋:你这么一讲,确实同样的语句重复了多次。

无言:不仅是重复,还会有多余的操作,就像第1段Range定位常量,第1句执行了定位后 设置了属性,第2句接着又再次定位常量,再进行了设置,这样定位操作就执行了2次,造成了

重复操作。现在要将对象缩减的话就必须用到With语句了。

?皮蛋:这个语句的重点是什么?

无言: With语句的重点就是减少对同一对象的重复引用,从而缩减了代码的长度也减少了 某些重复的操作。

皮蛋:重复对象引用,我没有看到啊,哪里来的?

无言:类似Range("A1").CurrentRegion.SpecialCells(xICellTypeConstants,23) 这段即重复 了,如图3-41中的第1段。

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

上一篇:达人之路·《高效办公应用宝典公式·函数与VBA》_2.4.3 自动输入常用函数
下一篇:跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_3.3.3类顺风求积分场次(Do While)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×