Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
VBA如果Z值存在,则隐藏以下内容:该行、前X行和后Y行_Vba_Excel - Fatal编程技术网

VBA如果Z值存在,则隐藏以下内容:该行、前X行和后Y行

VBA如果Z值存在,则隐藏以下内容:该行、前X行和后Y行,vba,excel,Vba,Excel,我想知道是否有人能帮我解决这个问题 如果单元格包含值Z,我希望隐藏该行、前X行和后Y行 我尝试过类似的方法,但在某些情况下它不起作用: Dim r = long For r = 1 To 100 Step 7 Rows(r & ":" r + 6).Hidden = Cells(r, "B").Value = "not included" 因此,通过上面的示例,对于B1:B15范围,如果单元格包含“#n/a”,则隐藏第14行、第10:13行和第15行(高亮显示的行)。我想让

我想知道是否有人能帮我解决这个问题

如果单元格包含值Z,我希望隐藏该行、前X行和后Y行

我尝试过类似的方法,但在某些情况下它不起作用:

Dim r = long
For r = 1  To 100 Step 7
    Rows(r & ":" r + 6).Hidden = Cells(r, "B").Value = "not included"

因此,通过上面的示例,对于B1:B15范围,如果单元格包含“#n/a”,则隐藏第14行、第10:13行和第15行(高亮显示的行)。我想让它循环,要么让它检查B1:B15中的每个单元格,要么让它检查第n个单元格,其中n=7

提前谢谢

试试下面的代码

Dim LastRow As Long

Public Sub Program()
    FindingLastRow

    For i = 1 To LastRow
        If IsError(Cells(i, "B").Value) Then
            If Cells(i, "B").Value = CVErr(xlErrNA) Then
                Rows(i - 4 & ":" & i + 1).EntireRow.Hidden = True
                i = i + 2
            End If
        End If
    Next

    Debug.Print LastRow
End Sub

Sub FindingLastRow()
    Dim sht As Worksheet
    Set sht = ActiveSheet
    LastRow = sht.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row
End Sub

那么,什么不起作用呢?那是什么呢?从公式或测试字符串
“未包含”
返回的
工作表错误?这是一个相当大的差异。@Jeeped你的评论到哪里去了?谢谢你的回复。你知道为什么,尽管粘贴的代码完全如图所示,我得到了这一行的13型错误吗<代码>行(i-4&“:”&i+1).EntireRow.Hidden=True
当您收到此错误时,
i
的值是多少?也许它试图隐藏行Zsmaster,现在对我来说也是如此……请看下面的@Sphinx,是的,这就是问题所在,现在我再看一遍:P我将在早上对这个解决方案的工作方式进行评论。疲劳+VBA noob=不良。