Target.Address函数不起作用

时间:2017-03-07 04:11:35

标签: vba excel-vba excel

有人可以告诉我这段代码有什么问题吗?我想通过从下拉列表中选择一个单元格值来隐藏一组行(来自单元格D6)。这是一个简单的技巧,但我不能使它工作(此代码在目标表中运行)。

Private Sub change_View(ByVal Target As Excel.Range)

    If Target.Address = "$D$6" Then
    If Target.Value = "Supervisor" Then Rows(14).Hidden = False
    If Target.Value = "Worker" Then Rows(14).Hidden = True
    End If

End Sub

2 个答案:

答案 0 :(得分:1)

我不熟悉change_View事件,通常这些类型的事件都是在相关表单中的Worksheet_Change事件中实现的。

我用If替换了你的2 x Select Case s," case"您将来需要添加更多场景。

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Range("D6"), Target) Is Nothing Then
    Select Case Target.Value
        Case "Supervisor", "Worker"
             Rows(14).Hidden = True      
    End Select
End If

End Sub

答案 1 :(得分:0)

我有这个代码,第一个正常工作,但第二个没有:(

    If Target.Address = "$M$8" Then
        Application.ScreenUpdating = False
                If Sheet1.Range("M8").Value2 = "LTA" Then
                Sheet1.Range("M6").Value2 = "Life-Class 3"
                Else
                End If
        Application.ScreenUpdating = True
    End If

    If Target.Address = "$M$6" Then
        Application.ScreenUpdating = False
                If Sheet1.Range("M6").Value2 = "Life-Class 2" Then
                Sheet1.Range("M8").Value2 = "DTA"
                Else
                End If
        Application.ScreenUpdating = True
    End If

是否有任何理由