excel 隐藏行问题 VBA
问题:sheet1是对其他几张工作表的统计,都是公式链接,没有手工输入。(sheet1)A1=(sheet2)A1+(sheet3)A1+(sheet4)A1+(shee...
问题:sheet1是对其他几张工作表的统计,都是公式链接,没有手工输入。
(sheet1)A1=(sheet2)A1+(sheet3)A1+(sheet4)A1+(sheet5)A1
A2、A3、A4......A10以此类推。
想得到这样的效果:当(sheet1)A1=0时,隐藏A1所在的第一行,如果A1的结果不等于0,则不隐藏。A2、A3、A4......A10以此类推。
想用VBA实现这种效果,求助!
前面两位的答案好像都要设一个控件。有没有办法是不需要设控件就能实现的啊?谢谢!
ALT+F8也就是相当于控件的功能啊。有没有什么办法可以自动实现啊?只要A1的结果发生变化就自动隐藏或显示。 展开
(sheet1)A1=(sheet2)A1+(sheet3)A1+(sheet4)A1+(sheet5)A1
A2、A3、A4......A10以此类推。
想得到这样的效果:当(sheet1)A1=0时,隐藏A1所在的第一行,如果A1的结果不等于0,则不隐藏。A2、A3、A4......A10以此类推。
想用VBA实现这种效果,求助!
前面两位的答案好像都要设一个控件。有没有办法是不需要设控件就能实现的啊?谢谢!
ALT+F8也就是相当于控件的功能啊。有没有什么办法可以自动实现啊?只要A1的结果发生变化就自动隐藏或显示。 展开
3个回答
展开全部
Sub mHide()
Dim i
For i = 1 To [a65536].End(3).Row
If Cells(i, 1).Value = 0 Then Cells(i, 1).EntireRow.Hidden = True
Next i
End Sub
#ps 给你自动实现的,只要在A列输入0,整行隐藏.右击工作表标签,查看代码,把下面的代码帖在你的工作表代码窗口就可以了
Private Sub Worksheet_Change(ByVal Target As Range)
if target.column=1 and target.value=0 then target.row.entirerow.hidden=true
End Sub
Dim i
For i = 1 To [a65536].End(3).Row
If Cells(i, 1).Value = 0 Then Cells(i, 1).EntireRow.Hidden = True
Next i
End Sub
#ps 给你自动实现的,只要在A列输入0,整行隐藏.右击工作表标签,查看代码,把下面的代码帖在你的工作表代码窗口就可以了
Private Sub Worksheet_Change(ByVal Target As Range)
if target.column=1 and target.value=0 then target.row.entirerow.hidden=true
End Sub
展开全部
Alt + F8,运行宏就可以了,不一定非要设控件.
子易空间站 - Excel培训专家
子易空间站 - Excel培训专家
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
新建宏:
for i=1 to 100 '最大值为数值的最大行
if sheet1.cells(i,1)=0 then sheet1.rows(i).hidden=true
'判定当前行第一个(A列)单元格数据是否是0,如果是0让当前行隐藏
next
这个是不需要控件的,只需要创建新的宏,然后输入一个宏名称,比如名称为Hid_row
创建后会出现代码窗口
Sub Hid_row()
End Sub
然后在这两行中间插入我所说的代码
最后点击运行宏即可,当然公式中sheet1需要你进行更改,改为你当前工作表名称
for i=1 to 100 '最大值为数值的最大行
if sheet1.cells(i,1)=0 then sheet1.rows(i).hidden=true
'判定当前行第一个(A列)单元格数据是否是0,如果是0让当前行隐藏
next
这个是不需要控件的,只需要创建新的宏,然后输入一个宏名称,比如名称为Hid_row
创建后会出现代码窗口
Sub Hid_row()
End Sub
然后在这两行中间插入我所说的代码
最后点击运行宏即可,当然公式中sheet1需要你进行更改,改为你当前工作表名称
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询