Excelmacros

我需要编写一个excelmacros,以便在(a:a)的范围内,如果有任何值为Closed,那么应该隐藏整行。 如何做…

我不能告诉你如何做到这一点,因为我不知道什么是封闭的细胞,但让我们来看看如何find它。

当我想在一个程序化的macros程序中做某些事情时,我不知道代码,我创build一个loggingmacros,然后分析代码。 在你的情况下,我会做的是我会logging一个macros,我closures一个单元格(并取消closures检查发生在这两种情况下),然后我会select一行并隐藏它。 它可以是单元格closures的行。 停止macros,并检查代码。 它将按顺序排列,因此通常很容易查明所需的代码行。

伪Excel代码应该像这样

对于行= 1到MaxRow
   对于col = 1到MaxCol
       如果单元格(行,列).IsClosed然后'用macros代码来检查是否closures代码
           行(行)。隐藏'用macros用于隐藏行的代码replace
       万一
   下一个col
下一行

希望有所帮助。

编辑:如果它与一个string值有关(例如当它写的很近),那么你定义一个范围并检查它的值(例如:Range(“A1”)。值应该给你单元格A1的值

目前尚不清楚“封闭”是什么意思。 这只是看你在工作表上,并没有限制的范围大小为@DavidBruenelle(这是更好的做法),但这个替代macros可能会更简单,让你明白

 Sub hideClosed() For Each cell In Range("A:A") If cell = "Closed" Then Rows(cell.Row()).EntireRow.Hidden = True Next End Sub