Excel精英培训网

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

[已解决]请大虾帮我看看end(xlup)如何转换成end(xldown)

[复制链接]
 楼主| 发表于 2017-11-11 14:22 | 显示全部楼层
apia543 发表于 2017-11-11 14:10
第4行到第99行不是在B199的上面嗎??
那你寫 Range("B199").End(xlDown).Row 是怎麼找也找不到4~99行的吧!! ...

我的代码如下:
Sub 隐藏行()
Dim n&
For n = 4 ToRange("B199").End(xlUp).Row
If Cells(n, 2) = "" Then
Rows(n).EntireRow.Hidden = True
End If
Next n
End Sub
这个代码的意思是从第4行开始到第199行之间如果B列中有数值或内容的行是不隐藏的,没有数值或内容的行就隐藏,比如:第98行有内容,代码会把第4行到第98行之间没有内容的行隐藏起来,而第99行到199行没有内容的它就不会隐藏了。所以我想要的就第4行到199行之间没有内容的行都隐藏,有内容的不隐藏。能帮帮我吗大虾?


回复

使用道具 举报

 楼主| 发表于 2017-11-11 14:33 | 显示全部楼层
高 发表于 2017-11-11 14:21
我们都懂,就楼主不明白,要down干什么,要从上到下和从下到上是一样的。你要说明哪列用上down也行,反正B ...

我的代码如下:
Sub 隐藏行()
Dim n&
For n = 4 ToRange("B199").End(xlUp).Row
If Cells(n, 2) = "" Then
Rows(n).EntireRow.Hidden = True
End If
Next n
End Sub
我的代码的意思是,从第4行到第199行之间B列有内容的行就不隐藏,没有内容的行就自动隐藏,比如:B98单元格有内容那么代码会把第4行到第98行之间没有内容的行都隐藏起来,而第99行到199行之间的行就不会隐藏了。我想要的就是第4行到第199行之间的空白行都隐藏这个效果。

回复

使用道具 举报

 楼主| 发表于 2017-11-11 14:34 | 显示全部楼层
高 发表于 2017-11-11 14:21
我们都懂,就楼主不明白,要down干什么,要从上到下和从下到上是一样的。你要说明哪列用上down也行,反正B ...


我的代码如下:
Sub 隐藏行()
Dim n&
For n = 4 ToRange("B199").End(xlUp).Row
If Cells(n, 2) = "" Then
Rows(n).EntireRow.Hidden = True
End If
Next n
End Sub
我的代码的意思是,从第4行到第199行之间B列有内容的行就不隐藏,没有内容的行就自动隐藏,比如:B98单元格有内容那么代码会把第4行到第98行之间没有内容的行都隐藏起来,而第99行到199行之间的行就不会隐藏了。我想要的就是第4行到第199行之间的空白行都隐藏这个效果。

回复

使用道具 举报

 楼主| 发表于 2017-11-11 14:37 | 显示全部楼层

我的代码如下:
Sub 隐藏行()
Dim n&
For n = 4 ToRange("B199").End(xlUp).Row
If Cells(n, 2) = "" Then
Rows(n).EntireRow.Hidden = True
End If
Next n
End Sub
我的代码的意思是,从第4行到第199行之间B列有内容的行就不隐藏,没有内容的行就自动隐藏,比如:B98单元格有内容那么代码会把第4行到第98行之间没有内容的行都隐藏起来,而第99行到199行之间的行就不会隐藏了。我想要的就是第4行到第199行之间的空白行都隐藏这个效果。

回复

使用道具 举报

发表于 2017-11-11 14:41 | 显示全部楼层    本楼为最佳答案   
uqfyplj 发表于 2017-11-11 14:33
我的代码如下:
Sub 隐藏行()Dim n&For n = 4 ToRange("B199").End(xlUp).Row[ ...

Sub 隐藏行()
Dim n&
For n = Range("B65536").End(xlUp).Row To 4 Step -1
If Cells(n, 2) = "" Then
Rows(n).EntireRow.Hidden = True
End If
Next n
End Sub
这是最正确的,你也不用管它199了。如果非要从199以上才对B列的空值行进行隐藏,就For n = 199 To 4 Step -1别说down了,试试运行。


回复

使用道具 举报

发表于 2017-11-11 15:01 | 显示全部楼层
你打得好奇怪,有點看不懂....

B98单元格有内容那么代码会把第4行到第98行之间没有内容的行都隐藏起来,而第99行到199行之间的行就不会隐藏了。我想要的就是第4行到第199行之间的空白行都隐藏这个效果

前後矛盾阿........
回复

使用道具 举报

发表于 2017-11-11 15:03 | 显示全部楼层
高 发表于 2017-11-11 14:41
Sub 隐藏行()
Dim n&
For n = Range("B65536").End(xlUp).Row To 4 Step -1

大俠...您好狠的心啊......B65536

他會不會是漏打了什麼??
回复

使用道具 举报

 楼主| 发表于 2017-11-11 15:03 | 显示全部楼层
高 发表于 2017-11-11 14:41
Sub 隐藏行()
Dim n&
For n = Range("B65536").End(xlUp).Row To 4 Step -1

厉害大虾,可以了达到我想要的效果了谢谢
回复

使用道具 举报

 楼主| 发表于 2017-11-11 15:06 | 显示全部楼层
apia543 发表于 2017-11-11 15:03
大俠...您好狠的心啊......B65536

他會不會是漏打了什麼??

上面那个姓高的大虾已经帮我解决了,把这段代码“For n = Range("B199").End(xlUp).Row To 4 Step -1”换成“For n = 199 To 4 Step -1”就可以了。不过也谢谢你大虾很热心。谢谢
回复

使用道具 举报

 楼主| 发表于 2017-11-11 15:08 | 显示全部楼层
高 发表于 2017-11-11 14:41
Sub 隐藏行()
Dim n&
For n = Range("B65536").End(xlUp).Row To 4 Step -1

大虾在请教一个问题:代码"For n = 199 To 4 Step -1"中"Step -1"是什么意思?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 01:34 , Processed in 0.280186 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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