VBA开发手记

本博文,将主要记录VBA for Excel项目中遇到并解决的问题和不熟悉的知识点,不定期更新。

1.日期单元格前面加空格就变成文本了,find查找参数注意:what:=Cstr(Date),lookat:=2

2.

Function ff()
    ff = 123
    MsgBox "hello"
End Function

该函数在单元格中使用时,会先弹出 消息框 确定后,再返回 123,说明函数返回值是等该函数所有代码执行完才返回。

 3.加号与&的区别?

 112” & “34” = “1234 212” + “34” = “1234 3 
 4 
 512” & 34 = “1234 612” + 34 = 46  ‘类型自动转换
 7 
 8 
 9 “ab” & 34 = “ab34”
10 “ab” + 34 =  ‘类型自动转换失败,报错

 4.Range的不常用使用用法

1 Range("C1,D2,A1:A2").Cells.Count              '个数为4
2 Range(Cells(1, 1), Cells(1, 4)).Cells.Count    '个数为4
3 Range(Cells(1, 1))  ‘这种写法错误

 5.给单元格区域赋值的不常见写法。

1 Range("A1:B1") = [{"编号", "目录"}]    '写入标题,采用数组形式,可以一次性写入多个单元格
2. 
If [=SUM(1/COUNTIF(A1:A10,A1:A10))] < 10 Then MsgBox "区域中存在重复值,程序无法继续", vbOKOnly, "友情提示"

 6.工作表的codeName属性就是VBE中每一张工作表对象的名称,可以在自己的属性窗口中修改,用codeName可以直接代表对应的工作表对象使用。

 7.Worksheets(1).Copy 将直接生成一张未保存的工作簿,内容为Worksheets(1)

8.如果新建的工作簿未保存,则 Len(Dir(ActiveWorkbook.FullName)) = 0.

9.由于end释放一切变量(包括各种级别的变量,如:过程级,模块级等),所有a显示的始终是1

1 Sub t()
2     Static a As Byte
3     a = a + 1
4     MsgBox a
5     End
6 
7 End Sub

 10.range区域赋值给变量时,该变量下标为1.   Evaluate函数创建的数组默认下标也是1

转载于:https://www.cnblogs.com/carlous/p/10760944.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值