使用宏隐藏行而不破坏公式/函数

时间:2019-02-05 01:56:17

标签: excel vba

我有一张纸,可以用来将任务分配给企业中的特定部门。每个部门跨越A到Y列,并且长40行,第一个部门的范围为A6:Y46。该工作表有15个不同的部门,最后一个部门在第619行结束。

我正在尝试创建一个宏,该宏将隐藏B列为空的所有行(因为A列始终包含某些内容)。但是,该工作表还包含许多计算事物的公式和函数,并且它们不断“破坏”。

我记录了一个宏,在其中进行了过滤,然后隐藏了所有空白单元格。在我执行此操作时,此操作非常完美。但是当我执行宏重试时,所有的公式和函数都出错了。我隐藏的行中没有一个实际上包含函数中使用的数据,但是函数会遍历所有单元格以检查它们的值。因此,它们是功能的一部分。

有人知道我可以实现这一目标的方法吗?

1 个答案:

答案 0 :(得分:0)

如何在用于隐藏这些行的宏中备份公式? 这样可以确保您不会在公式所引用的单元格中迷路,因为每次隐藏行之后都会建立这些引用。

一种方法是首先清除单元格的内容,以避免覆盖现有数据时出现任何问题,然后用公式填充它们。

With Workbooks("REFERENCE").Sheets("REFERENCE")
    'Code to hide rows

    .Range("B1:B35").ClearContents
    .Range("B1:B35").Formula = "=IF($A$1>B1,B1-B2,"FALSE")" 'example
End With