1、实例:表格的A栏中有6000个数值,筛选出大于90的数值将其复制至B栏或C栏!我们分别用两种方法来写代码,第一种方法不含数组,第二种方法含有数组!看那种方法程序运行速度快!
2、在工作表中,点击菜单栏【开发工具】,在其工具栏内,点击【visual basic】!
3、会进入VBA编辑界面!点击菜单栏【插入】,在其下拉菜单中,选择【模块】!
4、会弹出模块编辑窗口!
5、在代码编辑窗口输入以下代码:不含数组的代码:Sub 筛选数据1()t = TimerSet rng = Columns(1).End(旌忭檀挢xlDown)For Each rg In Range([a1], rng) If rg > 90 Then i = i + 1 Cells(i, "b") = rg End IfNextMsgBox Format(Timer - t, "0.0000")End Sub含数组的代码:Sub 筛选数据2()t = TimerDim arr0(1 To 6000, 1 To 1)Set rng = Cells(Rows.Count, "a").End(xlUp)arr1 = Range([a1], rng)For Each rg In arr1 If rg > 90 Then i = i + 1 arr0(i, 1) = rg End IfNext[c1].Resize(i) = arr0MsgBox Format(Timer - t, "0.0000")End Sub
6、在工作表界面的【开发工具】菜单下,点击【插入】按钮,插入表单控件,分别与两组代码关联!
7、点击【筛选数据1】按钮——不含数组,程序运行的时间了13.4219秒!
8、点击【筛选数据2】按钮——含数组,程序运行的时间为0.0313秒!这种方法快多了吧!