随笔分类 -  VBA

摘要:接着上篇《编写高效Excel VBA代码的最佳实践(一)》尽可能少使用“.”,使用对象变量在前面已经介绍过的对长对象引用使用对象变量以及使用With…End With等都是简化”.”的方法。因为在代码中的每个句点都表示至少一个(而且可能是多个)过程调用,而这些过程调用必须在后台执行。真正好的做法是在局 部进行缓存对象引用,例如,应该把对象模型中较高层次的对象引用保存到局部对象变量中,然后用这些对象引用创建其他较低层次的对象引用。例如,引用某单元 格数据时,可用如下代码:Dim i As LongFor i=1 to 10Workbooks(“Book1.xls”).Worksheets(“Sh 阅读全文
posted @ 2011-09-17 12:44 坤坤同学 阅读(565) 评论(0) 推荐(0)
摘要:很多Excel VBA文章和图书都介绍过如何优化VBA代码,使代码运行得更快。下面搜集了一些使Excel VBA代码运行更快的技术和技巧,基本上都是实践经验的总结。如果您还有其它优化Excel VBA代码的方法,可以在本文后留言或给出链接,与大家分享。 对于应用程序属性,在代码运行时关闭除必需属性以外的其它所有属性 在代码运行时关闭不需要的Excel功能。其原因是,如果通过VBA更新不同的单元格区域,或者从不同的单元格区域复制/粘贴来创建汇总表,则不希望 Excel浪费时间和资源来重新计算公式、显示粘贴进度或者重绘网格,尤其在每次单独的操作后(更有甚者,如果代码使用了循环,则每次单独操作后 E 阅读全文
posted @ 2011-09-17 12:43 坤坤同学 阅读(1198) 评论(1) 推荐(0)
摘要:Sub fillCells() Dim wst As Worksheet Dim title As Variant, rncArr As Variant, dataRange As Variant Dim maxDate As Date, minDate As Date Dim i As Integer, j As Integer, row As Integer, endRow As Integer Set wst = Worksheets("Sheet5") title = Array("RNC", "Date", "S1 阅读全文
posted @ 2011-09-17 12:42 坤坤同学 阅读(279) 评论(0) 推荐(0)
摘要:Option ExplicitPublic Sub setDateCluster() Dim s1 As Worksheet, s2 As Worksheet, s3 As Worksheet Dim rowCount1 As Integer, rowCount2 As Integer, clusterNum As Integer, i As Integer, j As Integer, rowNum As Integer Dim maxDate As Date, max1 As Date, max2 As Date Dim arr1 As Variant, arr2 As Variant S 阅读全文
posted @ 2011-08-29 21:28 坤坤同学 阅读(320) 评论(0) 推荐(0)