Exceldynamic下拉菜单转到单元格
Private Sub Worksheet_Change(ByVal Target As Range) Select Case Range("B1").Value Case Is = "G&A Total" Application.Goto Range("G_A_Total"), Scroll:=True Case Is = "Accounting" Application.Goto Range("Accounting"), Scroll:=True Case Is = "Environmental" Application.Goto Range("Environmental"), Scroll:=True Case Is = "GSC" Application.Goto Range("GSC"), Scroll:=True Case Is = "Human Resources" Application.Goto Range("Human_Resources"), Scroll:=True End Select End Sub
我目前有这个代码与数据validation下拉。 我想知道的是,无论如何要做到这一点,以便我放入列表中的任何内容都变成了从中拉出来的东西,而不必手动input每个内容。
当前编辑如下。
Private Sub Worksheet_Change(ByVal Target As Range) Select Case Range("B1").Value Case Is = Range("A1") Application.Goto Range("G_A_Total"), Scroll:=True Case Is = Range("A2") Application.Goto Range("Accounting"), Scroll:=True Case Is = Range("A3") Application.Goto Range("Environmental"), Scroll:=True Case Is = Range("A4") Application.Goto Range("GSC"), Scroll:=True Case Is = Range("A5") Application.Goto Range("Human_Resources"), Scroll:=True End Select End Sub
我改变了特定的情况是单元格引用哪些引用数据validationselect的单元格而不是引用每个单元格是否有一种方法来命名它们的范围,然后引用范围名称?
也许这样的事情
Select Case Range("B1").Value Case Is = Range("Departments") Application.Goto Range("DepartmentsGoTo"), Scroll:=True End Select
那么有2个我可以更新的命名列以避免经常更改代码?
基本上,比较每个命名范围与B1
的值
Private Sub Worksheet_Change(ByVal Target As Range) For Each myName In ActiveWorkbook.Names Select Case Range("B1").Value Case myName.Name Application.Goto Reference:=myName.Name, Scroll:=True End Select Next End Sub