2013-09-27 52 views
1

我想运行在一个表,它是一个表的一部分宏时,它会从A18到J33,第18行是头。 宏应该隐藏J列单元格中具有零的行。VB宏Excel 2007中隐藏行如果单元格等于零

请帮忙!!!!!!

+0

问题要求代码必须表现出对问题的理解最小正在解决。包括尝试解决方案,为什么他们没有工作,以及预期的结果。另请参阅:[堆栈溢出问题清单](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist) –

回答

1

当您看到您的电子表格命中ALT + F11。这会为你打开VBE(视觉基本编辑器)。

右键单击VBA Project Explorer(如果你不能看到它,然后单击视图 - > Project Explorer或CTRL +[R

插入模块

enter image description here

复制并粘贴以下代码

Sub HideRows() 
    Dim cell As Range 
    For Each cell In Range("J19:J33") 
     If Not isEmpty(cell) Then 
      If cell.Value = 0 Then 
       cell.EntireRow.Hidden = True 
      End If 
     End If 
    Next 
End Sub 

Hit F5运行宏。

enter image description here

enter image description here

+0

谢谢你,对不起,我不识字,当它涉及到VB宏,它不工作以红色突出显示:For Each cell in。并给予编译错误:合成器错误 –

+0

你复制和粘贴原样?代码粘贴到哪里? – 2013-09-27 08:43:18

+1

@mehow:上面的代码也会隐藏空白的'J'单元格。你可以改变它为'如果cell.Value <>“”和cell.Value = 0然后'? –