Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2603|回复: 3

[VBA] 010-优化“设置字体属性”-疑难千寻千解丛书(VBA)

[复制链接]
发表于 2011-1-17 14:11 | 显示全部楼层 |阅读模式
ET疑难千寻千解丛书之EXCEL2010编程与实践
罗刚君 章兰新 黄朝阳 编著


疑难10  
如何优化过程“设置字体属性”
以下程序是对A1向下延伸到最后一个非空单元格的区域设置字体属性,如何对它进行优化使程序的效率更高?

  1. Sub 设置字体属性()
  2.     ActiveWorkbook.Sheets(1).Range([a2], [a2].End(xlDown)).Font.Bold = True  '加粗
  3.     ActiveWorkbook.Sheets(1).Range([a2], [a2].End(xlDown)).Font.Italic = True  '倾斜
  4.     ActiveWorkbook.Sheets(1).Range([a2], [a2].End(xlDown)).Font.Color Index = 3  '红色
  5.     ActiveWorkbook.Sheets(1).Range([a2], [a2].End(xlDown)).Font.Name = "方正姚体"  '设定字体
  6.     ActiveWorkbook.Sheets(1).Range([a2], [a2].End(xlDown)).Font.Size = 21  '指定字体大小
  7.     ActiveWorkbook.Sheets(1).Range([a2], [a2].End(xlDown)).Font.Strikethrough = False '删除线
  8.     ActiveWorkbook.Sheets(1).Range([a2], [a2].End(xlDown)).Font.Superscript = False  '取消上标
  9.     ActiveWorkbook.Sheets(1).Range([a2], [a2].End(xlDown)).Font.Subscript = False   '取消下标
  10.     ActiveWorkbook.Sheets(1).Range([a2], [a2].End(xlDown)).Font.Underline = xlUnderlineStyleDouble  '指定双下画线
  11. End Sub
复制代码
è解决方案
对于多次调用相同对象者,可以利用With语句来简化,不仅在书写上简化,在执行效率上也可以有所提升,即通过With将多次调用对象改为调用一次。
í操作方法
步骤1        
通过With改写程序,让对象仅仅调用一次,代码如下:

  1. Sub 设置字体属性2()  '利用With优化程序
  2.     With ActiveWorkbook.Sheets(1).Range([a2], [a2].End(xlDown)).Font   
  3.     '设置字体
  4.       .Bold = True          '加粗
  5.       .Italic = True          '倾斜
  6.       .ColorIndex = 3         '红色
  7.       .Name = "方正姚体"        '设定字体
  8.       .Size = 21  '指定字体大小
  9.       .Strikethrough = False        '不要删除线
  10.       .Superscript = False           '不要上标
  11.       .Subscript = False                   '不要下标
  12.       .Underline = xlUnderlineStyleDouble  '指定双下画线
  13.     End With
  14. End Sub
复制代码
步骤2        
分别执行两段代码,可以发现其效果完全一致,但不管是书写还是执行效率上,第二段代码都会占有优势。

=============================
上摘自《EXCEL2010编程与实践》
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2011-1-17 14:12 | 显示全部楼层
这下记住了,能用WITH的地方就用WITH。
回复

使用道具 举报

发表于 2011-1-17 14:14 | 显示全部楼层
回复

使用道具 举报

发表于 2011-4-9 21:32 | 显示全部楼层
{:011:}{:011:}{:011:}{:011:}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-7 13:52 , Processed in 0.222962 second(s), 5 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表