Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: kmcla

[已解决]选择所有表,排除表名叫目录的表

[复制链接]
 楼主| 发表于 2017-4-11 08:13 | 显示全部楼层
wenzili 发表于 2017-4-10 19:03
?不懂。你是说程序执行很慢吗?运行完多长时间?也就几秒钟吧

你那样删,十多分钟。手工整体删,五分钟。
那种方法,都有时,说内存不够之类的,因为100多张,我不确定每张表多长,都按最大65545删的

没办法,还是手工删吧,没必要程序了。


回复

使用道具 举报

发表于 2017-4-11 09:29 | 显示全部楼层    本楼为最佳答案   
本帖最后由 wenzili 于 2017-4-11 09:36 编辑

是要删除55行以后的整行?试试这样是否快些。
Public Sub master()
Dim sht As Worksheet
Dim lMaxrows As Long
Dim lMaxusedrows As Long
lMaxrows = Cells.Rows.Count
Application.DisplayAlerts = False
Application.ScreenUpdating = False
For Each sht In Worksheets
     If sht.Name <> "目录" Then
         With sht
            lMaxusedrows = .Cells(lMaxrows, 1).End(xlUp).Row
            If lMaxusedrows >= 55 Then
                .Range(.Cells(55, 1), .Cells(lMaxusedrows, 1)).EntireRow.Delete
            End If
         End With
     End If
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
回复

使用道具 举报

发表于 2017-4-11 09:39 | 显示全部楼层
kmcla 发表于 2017-4-11 08:13
你那样删,十多分钟。手工整体删,五分钟。
那种方法,都有时,说内存不够之类的,因为100多张,我不确 ...

建了200个工作表,用前一种方法和后一种方法,都只需要不到1秒钟。
是不是你的程序有什么其他问题?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 23:07 , Processed in 0.113626 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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