2017-03-07 181 views
0

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

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 

回答

1

我不熟悉change_View事件,通常这些类型的东西都与相关表内Worksheet_Change事件实现。

我用Select Case替换了您的2 x If s,在“情况下”您将需要在未来添加更多场景。

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 
+0

谢谢晒!完美曾任职 –

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 

没有任何理由为