Excel精英培训网

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

[已解决]高手们帮我看看运行慢的问题

[复制链接]
发表于 2016-1-15 14:57 | 显示全部楼层 |阅读模式
点击运作宏(判断)速度很慢,求高手帮忙看看解决办法,可改排名公式,谢谢! 运行慢问题.zip (24.1 KB, 下载次数: 6)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-1-15 15:07 | 显示全部楼层
  1. Sub a()
  2. Dim arr
  3. arr = [a2].CurrentRegion
  4. For i = 2 To UBound(arr)
  5.     If arr(i, 3) < 1 Then
  6.        arr(i, 4) = "×"
  7.     Else
  8.        arr(i, 4) = "√"
  9.     End If
  10. Next
  11. [a2].Resize(UBound(arr), UBound(arr, 2)) = arr
  12.       
  13. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2016-1-15 15:27 | 显示全部楼层
这儿有肥猫 发表于 2016-1-15 15:07

好像不行,改动了分数,再执行宏时,排名无法更新
回复

使用道具 举报

发表于 2016-1-15 15:32 | 显示全部楼层    本楼为最佳答案   
本帖最后由 这儿有肥猫 于 2016-1-15 15:49 编辑
fggf 发表于 2016-1-15 15:27
好像不行,改动了分数,再执行宏时,排名无法更新
  1. Sub a()
  2. Dim arr, i&
  3. arr = Range("A3:E" & Cells(Rows.Count, 1).End(3).Row)
  4. For i = 1 To UBound(arr)
  5.       If arr(i, 3) < 1 Then
  6.           arr(i, 4) = "×"
  7.       Else
  8.           arr(i, 4) = "√"
  9.       End If
  10. Next
  11. [a3].Resize(UBound(arr), UBound(arr, 2)) = arr

  12. End Sub
复制代码
这样?
回复

使用道具 举报

发表于 2016-1-15 15:34 | 显示全部楼层
建议上传  “改动了分数,再执行宏时,排名无法更新”   的excel文件


回复

使用道具 举报

 楼主| 发表于 2016-1-15 15:41 | 显示全部楼层
这儿有肥猫 发表于 2016-1-15 15:32
这样?

比如把第一个人的分数改为15000,按理说执行后,他会是第一名的,但是名次没变化呢

点评

你的名次不是公式自动运算的么  发表于 2016-1-15 15:52
回复

使用道具 举报

 楼主| 发表于 2016-1-15 15:44 | 显示全部楼层
爱疯 发表于 2016-1-15 15:34
建议上传  “改动了分数,再执行宏时,排名无法更新”   的excel文件

附件是一样的,只要随便改动一个人的分数,再执行看看就可发现排名没有发生变化呢
回复

使用道具 举报

发表于 2016-1-15 15:44 | 显示全部楼层
其实也不慢,主要是表格里有公式。只要运行代码前把自动计算关掉就行了。
Sub qcw()
    Application.Calculation = xlCalculationManual
     Application.ScreenUpdating = False
    For i = 3 To 325
    If Cells(i, 3) < 1 Or Cells(i, 3) = "" Then
      Cells(i, 4) = "×"
    Else
      Cells(i, 4) = "√"
    End If
    Next
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub
回复

使用道具 举报

 楼主| 发表于 2016-1-15 15:52 | 显示全部楼层
grf1973 发表于 2016-1-15 15:44
其实也不慢,主要是表格里有公式。只要运行代码前把自动计算关掉就行了。
Sub qcw()
    Application.Cal ...

这下快多了,谢谢
回复

使用道具 举报

发表于 2016-1-15 15:58 | 显示全部楼层
4楼的最快,给4楼最佳吧。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 07:42 , Processed in 0.168387 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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