在VBA中,数组的实例应用(二)

2025-11-05 01:36:32

1、实例:表格的A栏中有6000个数值,筛选出大于90的数值将其复制至B栏或C栏!我们分别用两种方法来写代码,第一种方法不含数组,第二种方法含有数组!看那种方法程序运行速度快!

在VBA中,数组的实例应用(二)

2、在工作表中,点击菜单栏【开发工具】,在其工具栏内,点击【visual basic】!

在VBA中,数组的实例应用(二)

3、会进入VBA编辑界面!点击菜单栏【插入】,在其下拉菜单中,选择【模块】!

在VBA中,数组的实例应用(二)

4、会弹出模块编辑窗口!

在VBA中,数组的实例应用(二)

5、在代码编辑窗口输入以下代码:

不含数组的代码:

Sub 筛选数据1()

t = Timer

Set rng = Columns(1).End(xlDown)

For Each rg In Range([a1], rng)

  If rg > 90 Then

    i = i + 1

    Cells(i, "b") = rg

  End If

Next

MsgBox Format(Timer - t, "0.0000")

End Sub

含数组的代码:

Sub 筛选数据2()

t = Timer

Dim 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 If

Next

[c1].Resize(i) = arr0

MsgBox Format(Timer - t, "0.0000")

End Sub

在VBA中,数组的实例应用(二)

6、在工作表界面的【开发工具】菜单下,点击【插入】按钮,插入表单控件,分别与两组代码关联!

在VBA中,数组的实例应用(二)

7、点击【筛选数据1】按钮——不含数组,程序运行的时间了13.4219秒!

在VBA中,数组的实例应用(二)

8、点击【筛选数据2】按钮——含数组,程序运行的时间为0.0313秒!这种方法快多了吧!

在VBA中,数组的实例应用(二)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢