标签归档:VBA

VBA数组内去除重复值

最近在VBA的工作中挣扎了一段时间,真是感觉确实没有做Java爽快。或许是我使用不熟的缘故吧,好多需求没法使用现成的函数去实现,这点在Java里做的就比较好。举个简单的例子,数组去重。这点Java里的set就实现了这个功能,set里是没有重复数值的。可以遍历一下放进set取出后就是唯一的数据了。然而在VBA里面我并没有搜索到类似的函数。
为此费劲脑汁写个类似的功能函数,它类似于SQL里面的distinct。原理如下:

遍历数组的时候,在第三层循环里去查询当前值前面的所有值有没有重复项,有重复项就忽略当前值,没有重复项就使用当前值,你可以去存储,去调用都可以。

 

下面是一段类似代码,表现这个去重过程:   继续阅读

VBA相关函数集锦

      公司业务需要,这段时间需要学习VBA,虽然说学过VB,语法方面可能熟悉很多,但是真正应用的时候还是难在相关函数的使用和灵活度上。所以找找相关VBA的资料,觉得这些挺有用的,特别在博客上分享一下。

定制模块行为:

(1) Option Explicit ‘强制对模块内所有变量进行声明
Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示
    Option Compare Text ‘字符串不区分大小写
    Option Base 1 ‘指定数组的第一个下标为1
(2) On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息
(3) On Error GoTo ErrorHandler ‘当错误发生时跳转到过程中的某个位置
(4) On Error GoTo 0 ‘恢复正常的错误提示
(5) Application.DisplayAlerts=False ‘在程序执行过程中使出现的警告框不显示
(6) Application.ScreenUpdating=False ‘关闭屏幕刷新
    Application.ScreenUpdating=True ‘打开屏幕刷新
(7) Application.Enable.CancelKey=xlDisabled ‘禁用Ctrl+Break中止宏运行的功能
工作簿 继续阅读