当从下拉列表中选择的值发生更改并且代码可以正常工作时,我目前正在使用以下VBA运行宏:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D5")) Is Nothing Then
Select Case Range("D5")
Case "2008": Macro1
Case "2015": Macro1
End Select
End If
End Sub
但是,当另一个单元格发生变化(也是下拉菜单)时,我想运行以下事件,该代码被编写为隐藏列,这是附加代码的片段:
Sub hideColumnsBasedOnConditionZero()
LastColumn = 11 'Last Column
For i = 1 To LastColumn 'Lopping through each Column
'Hide all the columns with the values as 0 in Row 11
If Cells(1, i) = 0 And Cells(1, i) <> "" Then Columns(i).EntireColumn.Hidden = True
Next
End Sub
有人可以告诉我如何实现吗?第二个代码有效,但是我无法激活它,因为第一个代码正在使用更改功能,并且特定于另一个单元格。
答案 0 :(得分:1)
您可以将其添加到您的第一个活动中
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastColumn As Long
With Me
If Not Intersect(Target, .Range("D5")) Is Nothing Then
Select Case .Range("D5")
Case "2008", "2015": Macro1
End Select
ElseIf Not Intersect(Target, .Range("Your Other Range")) Is Nothing Then
Call hideColumnsBasedOnConditionZero
End If
End With
End Sub