您的位置:首页 > 编程语言 > VB

使用VBA的一点点积累经验

2009-01-06 17:05 288 查看
1 写VBA函数的时候,如果函数有返回值,则写成如下形式

'获取真实数据的实际行数

Public Function GetMaxRow() as integer

For i = MinRow To MaxRow '循环最小行到最大行

For j = MinCol To MaxCol '循环最小列到最大列

If Trim(Cells(i, j).Value) <> "" Then '如果该行有一列值不为空,则视为有效行

Exit For

Else '如果这一行每一个值都为空,而且直到最后一列的值都为空,则说明该行为空

If j = MaxCol Then '以后的数据均视为无效

GoTo a '跳出所有循环,得到实际数据的最大行

End If

End If

Next

Next

a:

GetMaxRow = i

End Function

2 在写一些比较特殊的功能的时候,比如将某列设置有效性->列序的时候,代码比较复杂,可直接操作设置,录制宏,保存后直接使用录制的宏的代码即可。

3 几个常用事件

如果是打开或关闭时的事件,则在WeekBook里找open或close就可以,如果是操作某Sheet里的VB控件,则要加上Sheet名。

4 如果要替换掉字符串中的某些字符,可以用VBA函数VBA.Replace(),如

For i = MinRow To MR

MTM = Cells(i, 3).Value

MTM = VBA.Replace(MTM, " ", "")

MTM = VBA.Replace(MTM, "-", "")

Cells(i, 3) = MTM

Next

也可以用工作表函数WorksheetFunction.Substitute(MTM, " ", "")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: