Excel精英培训网

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

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

[复制链接]
发表于 2017-4-9 21:05 | 显示全部楼层 |阅读模式
本帖最后由 kmcla 于 2017-4-11 14:10 编辑

除了叫“目录”的表不选,别的全选
并删除所选表的,row(55:5555)
一个一个选,一个一个删太慢了
最佳答案
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
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-4-9 21:47 | 显示全部楼层
最好上附件,并明确说明你想要的效果,这样别人才能更准确的解答。
回复

使用道具 举报

发表于 2017-4-9 22:46 | 显示全部楼层
在标签右键 > 选中全部工作表 , 再按住Ctrl 单击目录标签
回复

使用道具 举报

 楼主| 发表于 2017-4-10 08:17 | 显示全部楼层
砂海 发表于 2017-4-9 22:46
在标签右键 > 选中全部工作表 , 再按住Ctrl 单击目录标签

这办法我知道,我想VBA实现。
回复

使用道具 举报

发表于 2017-4-10 09:55 | 显示全部楼层
本帖最后由 wenzili 于 2017-4-10 10:08 编辑

Public Sub master()
Dim sht As Worksheet
Application.DisplayAlerts = False
For Each sht In Worksheets
    If sht.Name <> "目录" Then
        sht.Delete
    End If
Next
Application.DisplayAlerts = True
End Sub
回复

使用道具 举报

 楼主| 发表于 2017-4-10 14:23 | 显示全部楼层
wenzili 发表于 2017-4-10 09:55
Public Sub master()
Dim sht As Worksheet
Application.DisplayAlerts = False

先选,再删。row(55:5555),不删整个表,只删所选表的row(55:5555)
你这个是一个一选,一个一删。太慢
我想先全选,再整体删row(55:5555)


回复

使用道具 举报

发表于 2017-4-10 17:06 | 显示全部楼层
sht.Rows("55:5555").Delete
选也得一个一个选吧,一样的。单元格区域只能选择活动的工作表,工作表组合,在vba代码中仅影响活动工作表。
我是不会做了,看高手有无办法。
回复

使用道具 举报

 楼主| 发表于 2017-4-10 17:31 | 显示全部楼层
wenzili 发表于 2017-4-10 17:06
sht.Rows("55:5555").Delete
选也得一个一个选吧,一样的。单元格区域只能选择活动的工作表,工作表组合, ...

100多个表,这样删,还没手动快一个一个选 表也行,全选完之后,一个一个选区域也行,删要一起删,一个一个删太慢

为什么手动能选
还不如 在标签右键 > 选中全部工作表 , 再按住Ctrl 单击目录标签,在选50-5555行    这样手动的更快


回复

使用道具 举报

发表于 2017-4-10 19:03 | 显示全部楼层
kmcla 发表于 2017-4-10 17:31
100多个表,这样删,还没手动快一个一个选 表也行,全选完之后,一个一个选区域也行,删要一起删,一个一 ...

?不懂。你是说程序执行很慢吗?运行完多长时间?也就几秒钟吧
回复

使用道具 举报

发表于 2017-4-10 19:13 | 显示全部楼层
为什么手动能选
还不如 在标签右键 > 选中全部工作表 , 再按住Ctrl 单击目录标签,在选50-5555行    这样手动的更快
QQ截图20170410191234.png
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 13:00 , Processed in 0.442919 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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