一文快入VBA——一个VBA数据处理小程序的解析

这是我自己写的一个VBA处理的小程序,它极大地帮助我提高了数据处理的速度,现在我把它分享给你。个人觉得如果能够看看该程序,ExcelVBA使用的基本问题就不是比较大了。现在我们来归纳下程序中使用到的ExcelVBA技能点。

程序的定义,VBA程序的定义以Sub开头,以End Sub结尾,方法名加括号,不区分大小写。

结果的输出,程序的输出方式是Debug.Print,这是一种非常实用的输出函数,比Msgbox要方便的多,也是VBA调试程序必备的。

区域的选择及地址的格式,在VBA的写作过程中,经常不能够将程序写死,需要保留一定的灵活性,因此再用Selection.Address就可以动态地告诉程序,从而给出较大的变动余地。在地址的获取过程中,如果不对其进行界定,优先获取绝对地址,不如要使用相对地址,需要添加参数,如例中所示。

变量的定义,VBA中可以使用未定义的变量,但是推荐对其进行预先定义,定义的方法是Dim加变量名加As加变量类,比如在示例里面,将currentCell界定为Range。

循环的方法,一般而言,循环的方法主要有while,for两大类,在本例中使用的For Each能够更好地遍历区域内的每一个单元格,是一种比较简单省事的循环方法。

调用子程序的方法,因为是子方法,所以需要使用到Call。

条件语句,VBA的标准套路是If…Then …End If。如果中间需要添加别的,直接就是Else If。

数组的使用和循环。VBA提供数组动态变动的方法,因此在变量的时候,无需对长度进行定义,比如Dim string0。VBA的循环采用的UBound和LBound两个函数的组合来对区间进行确定,相比其他语言而言,个人觉得相对累赘了点。

单元格区域的定位方法。单元格的定位函数是非常重要的,一般来说,Cells和Offset是比较常用的,因为Excel中绝对位置发生不一致,因此Offset是一定相对定位的方法,意思即为向行和列分别一定多少。

字符串操作函数,字符串的操作是无比重要的,比如在本例中,使用了Split函数来分割字符串,形成字符串数组。

数字操作函数,Sgn是一个非常有用的函数,它会告诉你数据的正负号,在数据操作中,非常有用。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171210G027F000?refer=cp_1026

扫码关注云+社区