根据第一个工作表中填充的单元格在第二个工作表中显示行,但条件是在同一列中选择的下拉列表选项 (vba)

问题描述 投票:0回答:1

我有这段代码(它有效),如果一个单元格的值不是另一个工作表中的任何值(有人在其中写了一些东西),则显示或隐藏工作表中的行。前任。如果我在 B11 中写了一些东西,在第二张纸中,它将显示第 9 行:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.address = "B11" Then
        If Target.Value <> "" Then
            Sheets("Sheet2").Rows("9").EntireRow.Hidden = False
        Else
            Sheets("Sheet2").Rows("9").EntireRow.Hidden = True
        End If
    End If
End Sub

我正在寻找一种方法来调整此代码,以便它仅在第一张表中同一行但不同列上才有效,还有一个在下拉列表中选择的特定选项,例如“成功” ”。有人知道怎么办吗

excel vba row
1个回答
0
投票

我不完全确定我明白你需要做什么,但类似这样的事情应该有效:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rw As Range
    If Target.Address = "B11" Then
        'hide/unhide row on second sheet
        With ThisWorkbook.Worksheets("Sheet2").rows(9)
            'you can change the logic here to meet your needs...
            .Hidden = Len(Target.Value) > 0 And .Columns("H").Value = "success"
        End With
    End If
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.