ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3873|回复: 7

[求助] 如何删除工作表中隐藏的行和列

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-12-3 08:32 | 显示全部楼层 |阅读模式
原始表有若干隐藏的行和列,如何删除所有的隐藏行和列,从原始表变为目标表,保持原表格式不变 如何删除工作表中隐藏的行和列.rar (1.79 KB, 下载次数: 6)

TA的精华主题

TA的得分主题

发表于 2014-12-3 08:40 | 显示全部楼层
变个思路,复制可见单元格就行了。
  1. Sub test()
  2.   Worksheets("原始表").UsedRange.SpecialCells(xlCellTypeVisible).Copy Worksheets("目标表").Range("a1")
  3. End Sub
复制代码

点评

很好  发表于 2015-3-24 18:09

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-12-3 08:40 | 显示全部楼层
参见附件。

如何删除工作表中隐藏的行和列.rar

6.46 KB, 下载次数: 35

点评

很好  发表于 2015-3-24 18:10

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-12-3 08:45 | 显示全部楼层
下面是直接删除的代码:
  1. Sub test()
  2.   Dim r%, c%, i%, j%
  3.   Dim rng As Range
  4.   With Worksheets("原始表")
  5.     r = .Cells(.Rows.Count, 1).End(xlUp).Row
  6.     c = .Cells(1, .Columns.Count).End(xlToLeft).Column
  7.     For i = 1 To r
  8.       If .Rows(i).Hidden = True Then
  9.         If rng Is Nothing Then
  10.           Set rng = .Rows(i)
  11.         Else
  12.           Set rng = Union(rng, .Rows(i))
  13.         End If
  14.       End If
  15.     Next
  16.     If Not rng Is Nothing Then
  17.       rng.Delete
  18.       Set rng = Nothing
  19.     End If
  20.     For j = 1 To c
  21.       If .Columns(j).Hidden = True Then
  22.         If rng Is Nothing Then
  23.           Set rng = .Columns(j)
  24.         Else
  25.           Set rng = Union(rng, .Columns(j))
  26.         End If
  27.       End If
  28.     Next
  29.     If Not rng Is Nothing Then
  30.       rng.Delete
  31.     End If
  32.   End With
  33. End Sub
复制代码

点评

感谢帮助  发表于 2015-3-24 18:12

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-12-3 08:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
参见附件。

如何删除工作表中隐藏的行和列.rar

9.38 KB, 下载次数: 38

点评

热心帮助别人,感谢  发表于 2015-3-24 18:12

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-24 16:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
chxw68 发表于 2014-12-3 08:46
参见附件。

感谢大师帮助。今天试了一下,这个表中的隐藏列删除不了,不知何故。 如何删除工作表中隐藏的行和列.rar (13.45 KB, 下载次数: 4)

TA的精华主题

TA的得分主题

发表于 2015-3-24 16:21 | 显示全部楼层
详见附件。

如何删除工作表中隐藏的行和列.rar

13.32 KB, 下载次数: 54

点评

下载安装的2003,为什么打开你的附件(或别人的附件)总是乱码?谢谢!  发表于 2015-3-24 18:14
很好  发表于 2015-3-24 18:11

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-10-9 08:22 | 显示全部楼层
如果需要删除隐藏行的表格多的话,一般的Excel界面操作是实现不了的,需要借助VBA或是专门应用。以下推荐两种快速方法:

(1)可以使用VBA代码的方法删除,打开VBE,将下列代码贴到新建的宏中,然后执行宏,隐藏的工作表就全删除了。


Sub 删除所有隐藏工作表()
Dim i As Integer
Application.DisplayAlerts = False
For i = Sheets.Count To 1 Step -1

   If Sheets(i).Visible = False Then
        Sheets(i).Delete
           Else
​       End If
Next i

ActiveWorkbook.Save

End Sub

(2)可以使用专门删除隐藏工作簿的应用处理,还可以多个excel工作簿一起操作,很快。
应用下载地址:"https://pan.baidu.com/s/1A8N1a-tHuHcz1I0VoAk4Pw"
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-16 16:53 , Processed in 0.028847 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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