Excel精英培训网

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

这段代码如何优化一下运行速度更快呢?

[复制链接]
发表于 2012-10-31 10:57 | 显示全部楼层 |阅读模式
Sub 新建工程表格()
Dim i As Integer
Dim y As Integer
Dim arr, x
Application.ScreenUpdating = False
Application.DisplayAlerts = False
y = InputBox("请输入工程数量")
For i = Sheets.Count - 3 To y - 1
Sheets("1").Copy after:=Sheets(i + 1)
ActiveSheet.Name = i + 1
Next
If y <= Sheets.Count - 4 Then
ReDim arr(y + 2 To Sheets.Count - 2)
      For x = y + 2 To Sheets.Count - 2
      
      arr(x) = Worksheets(x).Name
      
      Next
      
      Worksheets(arr).Select
      
      ActiveWindow.SelectedSheets.Delete
End If
Sheets("1").Select
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
发表于 2012-11-4 08:32 | 显示全部楼层
你本身需要一个一个复制工作表,非要那么多时间!
至于删除工作表你是先选择,后删除,可改成直接删除:
Worksheets(arr).Delete
但提速也是微不足道的。
回复

使用道具 举报

 楼主| 发表于 2012-11-4 18:47 | 显示全部楼层
zjdh 发表于 2012-11-4 08:32
你本身需要一个一个复制工作表,非要那么多时间!
至于删除工作表你是先选择,后删除,可改成直接删除:
...

这个是整个程序的一部分,只要你能节省一点加起来就多了,谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 03:28 , Processed in 0.247519 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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