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
В настоящее время у меня есть этот код, который работает с раскрывающимся списком проверки данных. Что я хочу знать, так это сделать это динамическим, чтобы все, что я добавляю в список, становилось тем, из чего оно извлекается, вместо того, чтобы вводить каждое вручную.
Текущие правки ниже.
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
Я изменил конкретный случай. Должны ли быть ссылки на ячейки, которые ссылаются на ячейки, выбранные проверкой данных, вместо ссылки на каждую отдельную ячейку. Есть ли способ назвать их диапазоном, а затем ссылаться на имя диапазона?
Может быть, что-то вроде этого
Select Case Range("B1").Value
Case Is = Range("Departments")
Application.Goto Range("DepartmentsGoTo"), Scroll:=True
End Select
Тогда есть 2 именованных столбца с диапазоном, которые я могу обновить, чтобы избежать частого изменения кода?
Departments
и поставить=Departments
в разделе «Источник». Таким образом, каждый раз, когда вы обновляете имя диапазона, список обновляется. - person Matt Cremeens   schedule 04.09.2014