|
学习
第1讲 单元格写法
cells(1,1) >range("a1")>.[a1]
cells(1,1) 符合 EXCEL 结构,最快;range("a1") 有对象,稍稍慢;[A1] 写的快,运行慢
不过有时在VBA中使用Range()比cell()快,速度取决单元格的数据类型
第2讲 查找
VLOOkUP>FIND>if a=b
VLOOKUP 是工作表函数,速度最快
第3讲 少用SELECT,ACTIVATE
代码少了,操作少了,速度自然快了
第4讲 不要直呼其名
a= Worksheets(1).Name >a=Worksheets("Sheet1").name
第5讲: 数组 > RANGE
Test1()比Test2()速度快5--10 倍!!
Sub Test1()
Dim i As Long, j As Long, buf As Long
For i = 1 To 10000
For j = 1 To 100
buf = Cells(i, j)
Next j
Next i
End Sub
Sub Test2()
Dim i As Long, j As Long, buf As Long, C As Variant
C = Range("A1:CV10000")
For i = 1 To 10000
For j = 1 To 100
buf = C(i, j)
Next j
Next i
End Sub
第6讲 循环有讲究
for i=1 to 10000 > for each xx in
理由: for each xx 还调用了 相关的对象,属性
第7讲 函数后加$>不加$的
如:Left$() 比 Left() 快,因为Left() 是 Variant(变量)
可用函数:Chr$ ChrB$ Command$ CurDir$ Date$ Dir$ Error$ Format$ Hex$ Input$ InputB$ LCase$ LeftB$ LTrim$ Mid$ MidB$ Oct$ Right$ RightB$ RTrim$ Space$ Str$ String$ Time$ Trim$ UCase$ |
|