Excel VBA代码(指定给按钮),用于根据多张图纸上的单元格值隐藏/取消隐藏行

Excel VBA代码(指定给按钮),用于根据多张图纸上的单元格值隐藏/取消隐藏行,vba,hide,Vba,Hide,这是我在这里的第一篇文章,此外,我也完全没有VBA的任何知识。。。所以请原谅我的无知;-) 我正在写一份有数量栏的价目表。同一文件具有多个货币的工作表。我需要实现的是在每张图纸上创建两个按钮,以隐藏/取消隐藏数量单元格等于零的所有行 例如,您希望从列表中选择某些项目,因此将数量输入相应的单元格(数量列),然后按下按钮隐藏数量等于零的所有其他行 现在,我已经在某个地方找到了这方面的代码,但它只适用于第一张工作表,当我用按钮复制工作表(创建另一种货币)并按下按钮时,它仍会将更改(隐藏/取消隐藏行)应

这是我在这里的第一篇文章,此外,我也完全没有VBA的任何知识。。。所以请原谅我的无知;-)

我正在写一份有数量栏的价目表。同一文件具有多个货币的工作表。我需要实现的是在每张图纸上创建两个按钮,以隐藏/取消隐藏数量单元格等于零的所有行

例如,您希望从列表中选择某些项目,因此将数量输入相应的单元格(数量列),然后按下按钮隐藏数量等于零的所有其他行

现在,我已经在某个地方找到了这方面的代码,但它只适用于第一张工作表,当我用按钮复制工作表(创建另一种货币)并按下按钮时,它仍会将更改(隐藏/取消隐藏行)应用于第一张工作表。该代码如下:

Public Sub HideRows()
Dim cell As Range

For Each cell In Range("BOQ")

cell.EntireRow.Hidden = (cell.Value = 0 And cell.Value <> "")
Next cell
End Sub
公共子HideRows()
暗淡单元格作为范围
对于范围内的每个单元格(“BOQ”)
cell.EntireRow.Hidden=(cell.Value=0和cell.Value“”)
下一个细胞
端接头
并取消隐藏:

Public Sub UnhideRows()
Dim cell As Range

For Each cell In Range("BOQ")

If (cell.Value = 0 And cell.Value <> "") Then cell.EntireRow.Hidden = False
Next cell
End Sub
Public Sub UnhideRows()
暗淡单元格作为范围
对于范围内的每个单元格(“BOQ”)
如果(cell.Value=0和cell.Value“”),则cell.EntireRow.Hidden=False
下一个细胞
端接头
如果有人能提出一个合适的脚本,在多张纸上分别完成这项工作,我将不胜感激。另外,为了避免打印预览后脚本运行速度慢100倍的问题

提前感谢。

范围(“BOQ”)指第一页上的范围。 因此,无论选择哪张图纸,宏都会影响图纸1上的该范围

<> >为了使代码对你所用的表具有灵活性,考虑将其更改为:

Activesheet.Range(“A2:A10”)