excel 备忘录

1 sub和function的区别

sub 是宏函数,做一个button指定到sub函数上,可以执行一些操作,不能返回值

function 是普通函数,像excel自带函数一样,可以有参数,可以返回值,例如sum函数,如下:可以实现同样的sum函数功能(只能选择相邻的块):

Function sum_2(AA As Variant)
Dim total, n,m, i, j, A As Variant
A = AA
total = 0
n = UBound(A, 1)
m = UBound(A, 2)
For i = 1 To n
For j = 1 To m
total = total + A(i, j)
Next j
Next i
sums = total
End Function
2 UBound

a Ubound(A) 对于一维数组返回数组A元素个数
b Ubound(A,1) 对于二维数组返回数组A行数
c Ubound(A,2) 对于二维数组返回数组A列数

3 Dim ReDim
Dim A as string,B as interger,C(),D(,)

ReDim C(5),D(4,4) 默认下标 1 to 5
ReDim C(0 to 4),D(0 to 4, 0 to 4) 下标为0 ~4

4 选取表格方法

a Sheets(“sheet1”).Range(“a1”)
b Sheet3.Cells(1, 1) //Sheet3 在vba中查看

Sub test()
Dim temp1, temp2
temp1 = Sheets("b").Range("a1")
temp2 = Sheet1.Cells(1, 1).Value
MsgBox temp1 + "  " + temp2
End Sub
5 CONCATENATE() 连接字符串 indirect() 引用

CONCATENATE() 相当于 & 连接字符
indirect() 返回字符串指定的引用,例:C1=10 , =indirect(“A”&C1) 返回A10单元格的值

6 right ,left ,mid, len, lenb, offset column,rows,find,offset 等 函数用法

例 :left(A1,x)  从A1左边x开始截取,到最后,right 同理,mid(A1,x1,x2) 从中间截取,x1开始,x2结束

column() 返回当前单元格的列数 columns() 返回所选单元格的列数,row和rows同理

find/findb 返回一个字符/串在里一个字符串里出现的位置。

offset 返回相对一个参考位置偏置后的单元格的内容

cell(“filename” 返回当前文件路径+文件名+sheet名,然后利用字符串处理方法获得当前sheet名

Leave a Reply