Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: gx0705

[已解决]怎样用代码规定一个区域中空白删除所在行

[复制链接]
 楼主| 发表于 2013-7-7 19:13 | 显示全部楼层
编号        数值
1        10
2       
3        100
4       
5        20
6        20
7       
8       
9       
10       
11        10
我是想把上面那个,变成下面那个
编号        数值
1        10
3        100
5        20
6        20
11        10
回复

使用道具 举报

 楼主| 发表于 2013-7-7 19:15 | 显示全部楼层
就是对应数值中为空的整行删除,谢谢各位哦
回复

使用道具 举报

发表于 2013-7-7 19:26 | 显示全部楼层
gx0705 发表于 2013-7-7 19:10
这个不能一次删除,要很多次才可以哦

你不是删除B2:B10之间空行吗?一次完成了
回复

使用道具 举报

 楼主| 发表于 2013-7-7 19:39 | 显示全部楼层
风林火山 发表于 2013-7-7 19:26
你不是删除B2:B10之间空行吗?一次完成了

不行哦,我重新打开都不行
回复

使用道具 举报

发表于 2013-7-7 19:43 | 显示全部楼层
gx0705 发表于 2013-7-7 18:44
我想规定B2:B10哦,应该怎样修改呢

With Sheets("sheet2")
For i =10 To 2 Step -1
If Sheet2.Cells(i, 2) = "" Then
Cells(i, 2).EntireRow.Delete
End If
Next i
End With
回复

使用道具 举报

发表于 2013-7-7 20:16 | 显示全部楼层
本帖最后由 ligh1298 于 2013-7-7 20:18 编辑
  1. Sub 删除空白行()
  2. For Each Rng In [b2:b10]
  3. If Rng = "" Then
  4. Rng.EntireRow.Delete
  5. End If
  6. Next
  7. End Sub
复制代码
回复

使用道具 举报

发表于 2013-7-7 22:30 | 显示全部楼层
ligh1298 发表于 2013-7-7 20:16

这个代码应该不行吧!因为你是一行一行删除,不是统一一次性删除,循环后面的空行有可能不能删除掉。这个应该要用倒循环。
回复

使用道具 举报

发表于 2013-7-7 22:39 | 显示全部楼层
本帖最后由 sliang28 于 2013-7-7 22:48 编辑

楼主,根据你提供的数据你的代码是不行的。
问题在于row1返回的是1,不是10,将代码Range("B2:B10")改写成Range("A11")就能达到你的要求了。
试一下吧!
回复

使用道具 举报

 楼主| 发表于 2013-7-9 08:02 | 显示全部楼层
本帖最后由 gx0705 于 2013-7-9 08:15 编辑
dongqing1998 发表于 2013-7-7 19:43
With Sheets("sheet2")
For i =10 To 2 Step -1
If Sheet2.Cells(i, 2) = "" Then


这个好像可以,请问怎样把程序弄到EXCEL中?我现在是设置在命令按钮上的,但如果我想打开sheet2界面时命令自动执行,应该如何呢?谢谢

13-07.rar

7 KB, 下载次数: 6

回复

使用道具 举报

 楼主| 发表于 2013-7-9 09:56 | 显示全部楼层
请各位大侠帮帮忙啦,谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 22:39 , Processed in 0.306046 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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