我有这段代码(它有效),如果一个单元格的值不是另一个工作表中的任何值(有人在其中写了一些东西),则显示或隐藏工作表中的行。前任。如果我在 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
我正在寻找一种方法来调整此代码,以便它仅在第一张表中同一行但不同列上才有效,还有一个在下拉列表中选择的特定选项,例如“成功” ”。有人知道怎么办吗
我不完全确定我明白你需要做什么,但类似这样的事情应该有效:
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