我在一个覆盖单元格C7:AD18的下拉框中有5个值,其想法是当用户选择其中一个用户选择例如Value1时,Msgbox将弹出"Thanks for Selecting Value1"
我遇到的问题是,我能做到这一点的唯一方法是为每个单元设置编程:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C7")) Is Nothing Then
Select Case Range("C7")
Case "Value1": Macro1
Case "Value2": Macro2
Case "Value3": Macro3
Case "Value4": Macro4
Case "Value5": Macro5
End Select
End IF
End Sub然后我不得不为C8, C9, C10等添加一个条目,我试图使用一系列的"C7:AD18",但我根本不能让它工作,它总是返回到调试。
发布于 2020-03-18 23:47:31
也许是下面的代码,它使用Intersect测试Target是否在该范围内。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.CountLarge <> 1 Then Exit Sub
If Not Intersect(Target, Me.Range("C7:AD18")) Is Nothing Then
Select Case Target.Value
Case "Value1": Macro1
Case "Value2": Macro2
Case "Value3": Macro3
Case "Value4": Macro4
Case "Value5": Macro5
End Select
End If
End Subhttps://stackoverflow.com/questions/60742925
复制相似问题