Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1890|回复: 2

[已解决]清理RE数据VBA

[复制链接]
发表于 2011-8-13 12:32 | 显示全部楼层 |阅读模式
表里的 VBA 清空 RE数量 这个VBA 我点时运算速度不是很快 点1下 10分钟才反应过来 好一点的电脑也得反应5分钟,老师们能否在不改变结果的情况下,把这个VBA编写 让他快些呢1分钟内能运算出来 感谢
最佳答案
2011-8-13 12:48
本帖最后由 FF7 于 2011-8-13 12:57 编辑

肯定是用数组快咯,大约2秒钟运行完!!
Sub 清空()
    Dim i As Long, J As Long
    Application.ScreenUpdating = False
    Row1 = Range("C65536").End(xlUp).Row
    ROW2 = Range("D65536").End(xlUp).Row
   
    Dim arr, brr
    arr = Range("C7:C" & Row1)
    brr = Range("I7:I" & Row1)
    For i = 1 To UBound(arr)
        If arr(i, 1) = "RE" Then brr(i, 1) = ""
    Next i
    [i7].Resize(UBound(brr)) = brr
    Application.ScreenUpdating = True
End Sub

复件 7月原料及主要材料准-9.rar

311.1 KB, 下载次数: 14

发表于 2011-8-13 12:48 | 显示全部楼层    本楼为最佳答案   
本帖最后由 FF7 于 2011-8-13 12:57 编辑

肯定是用数组快咯,大约2秒钟运行完!!
Sub 清空()
    Dim i As Long, J As Long
    Application.ScreenUpdating = False
    Row1 = Range("C65536").End(xlUp).Row
    ROW2 = Range("D65536").End(xlUp).Row
   
    Dim arr, brr
    arr = Range("C7:C" & Row1)
    brr = Range("I7:I" & Row1)
    For i = 1 To UBound(arr)
        If arr(i, 1) = "RE" Then brr(i, 1) = ""
    Next i
    [i7].Resize(UBound(brr)) = brr
    Application.ScreenUpdating = True
End Sub
回复

使用道具 举报

 楼主| 发表于 2011-8-13 13:03 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-23 20:01 , Processed in 0.342037 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表