Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 在多张图纸上隐藏/取消隐藏具有零值单元格或空白的行_Excel_Vba - Fatal编程技术网

Excel 在多张图纸上隐藏/取消隐藏具有零值单元格或空白的行

Excel 在多张图纸上隐藏/取消隐藏具有零值单元格或空白的行,excel,vba,Excel,Vba,范围:隐藏包含零值和/或空白单元格的行,并在填充相同单元格(数字、文本;大多数单元格包含公式)后取消隐藏行 所需的灵活性:能够将隐藏/取消隐藏应用于单个工作表中的不同特定范围以及整个工作表(无范围选择) 常规:工作簿由多张工作表组成。具有零值的单元格放置在具有标题的列中,而空白单元格位于相同的列中,但没有标题 关于数据样本,A1:C12,表2,工作簿“文件R1” 相关单元格为C列,C1:C12(数字和空格)。 从A1开始的行–A1:C1中的所有空格。 从A2、A3、A4开始的行–A2:A4、B2

范围:隐藏包含零值和/或空白单元格的行,并在填充相同单元格(数字、文本;大多数单元格包含公式)后取消隐藏行

所需的灵活性:能够将隐藏/取消隐藏应用于单个工作表中的不同特定范围以及整个工作表(无范围选择) 常规:工作簿由多张工作表组成。具有零值的单元格放置在具有标题的列中,而空白单元格位于相同的列中,但没有标题

关于数据样本,A1:C12,表2,工作簿“文件R1”
相关单元格为C列,C1:C12(数字和空格)。
从A1开始的行–A1:C1中的所有空格。
从A2、A3、A4开始的行–A2:A4、B2:C4中的文本–空白。
从A5开始的行–A1:C1中的所有空格。
A6:C12–表格,由函数引入的字母数字数据。
A6:C6–表格标题,文本。
C9和C12包含单元格=0

场景A:C7、C8、C10、C11–数字,隐藏对应于C9和C12的行,因为最初的单元格=0。如果C9和/或C12中的值大于0,则取消隐藏。不要隐藏C1:C5中与空格对应的行。 场景B:如果表(C6:C12)的C列中的所有单元格都等于零,则隐藏与C1:C12对应的所有行

作为最重要的一点,如果能够在同一工作簿中同时为多个工作表运行上述场景,那就太好了。例如,表2和表3包含如上所述的相同数据集

我遇到过一些使用代码的VBA解决方案。有没有办法通过VBA(和365 Office订阅)之外单元格值的更改实现隐藏/取消隐藏的“自动化”? Excel文件适用于一组具有非常基本技能的用户

看视频可能会有帮助!另请参见和


希望有帮助;请向上投票。

因此,基本上您正在做以下工作:

  • 在单元格中的某个位置搜索值
  • 把整排都藏起来

在MS Word中,您可以使用搜索和替换来应用特定格式(如将某个单词的所有实例放入另一种字体),但是Excel中似乎不存在此功能,因此VBA将是一种可行的方法。

那么,使用VBA可以获得结果吗?我应该说得更详细些。excel文件将由一组具有基本技术技能的用户使用。因此,我希望避免使用VBA。我更愿意找到一个使用功能的解决方案(但不是365 Office的功能,因为包括我在内的许多“凡人”根本没有订阅。)
sub hide_unhide_rows() 

Range("1:1").Rows.Hidden = True
Range("1:1").Rows.Hidden = False

Range("1:9").Rows.Hidden = True
Range("1:9").Rows.Hidden = False

End Sub
Dim var1 As String
Sheets("Sheet1").Select

For LR1 = 1 To Range("A65536").End(xlUp).Row
Cells(LR1, 1).Select
If (ActiveCell.Value = "") Then
var1 = Replace(ActiveCell.Address, "$", "")

Range(var1).EntireRow.Hidden = True
End If
Next LR1