请教VBA高手,有什么方法可以让下面的程序在1分钟之内运行完毕或者帮我编一个有同样结果的程序,速度快的

请教VBA高手,有什么方法可以让下面的程序在1分钟之内运行完毕或者帮我编一个有同样结果的程序,速度快的,第1张

Sub SSSSSS()

    ApplicationScreenUpdating = False

    Set s1 = Sheets("订单汇总")

    Set s2 = Sheets("型号明细")

    xr2 = s2Range("b65536")End(xlUp)Row

    For i = 2 To xr2

        If s2Range("k" & i) > 0 Then

            xr1 = s1[a65536]End(3)Row + 1

            s1Range("a" & xr1) = s2Range("f" & i)

            s1Range("B" & xr1) = s2Range("D" & i)

            s1Range("C" & xr1) = s2Range("E" & i)

            s1Range("D" & xr1) = s2Range("G" & i)

            s1Range("F" & xr1) = s2Range("K" & i)

            s1Range("J" & xr1) = s2Range("N" & i)

            s1Range("L" & xr1) = s2Range("V" & i)

        End If

    Next

    ApplicationScreenUpdating = True

End Sub

这个问题我知道!1、使用applicationscreenupdate,先关闭屏幕更新,结束时打开

使用applicationEnableEvents,先关闭事件的触发,结束时再打开

2、用SpecialCells选择方法,可以剔除许多不需要的数据

3、尽量少使用单元格直接参与计算,多使用变量数组变量,先将数据读入变量或数组变量,对变量进行运算

4、将单元格区域分块,比如,可以先读取一列,复制给数组,处理完了,再将数组的值一次性赋值给其他单元格,然后再将下一列读到这个数组……

5、尽量减少代码中的select、activate、等没什么用的动作,直接使用“”点符号取值或赋值

6、尽量使用with语句,减少对象的读取动作

7、优化算法,减少循环次数……

---------转载------------

找了一些资料 希望对你有所帮助~~

>

把条件进行限制。

暴力破解法,就是把所有条件,相关情况统统考虑进去,让计算机进行检索运算,直到得出与之所有条件符合的结果。

但是,暴力破解对计算机资源耗费严重,如果条件太复杂,运算速度缓慢,为了解决这一问题,我们可以事先把与之不相关的条件进行限制,减少计算机的运算量。

以上就是关于请教VBA高手,有什么方法可以让下面的程序在1分钟之内运行完毕或者帮我编一个有同样结果的程序,速度快的全部的内容,包括:请教VBA高手,有什么方法可以让下面的程序在1分钟之内运行完毕或者帮我编一个有同样结果的程序,速度快的、如何加快含有VBA代码的excel文件保存速度、VBA如何设置才能加速等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9669617.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存