使用VBA的一点点积累经验

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, " ", "")

转载于:https://www.cnblogs.com/yuanweisen/archive/2009/01/06/1370510.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值