Я пытаюсь вызвать макрос с выпадающим списком. Пока у меня есть рабочий макрос, который выбирает и сортирует данные по столбцу от наибольшего до наименьшего. Макрос работает отлично.Запуск макроса с выпадающим списком
Пример Macro:
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Option+Cmd+s
'
Range("A1:AO125").Select
Range("A2").Activate
ActiveWorkbook.Worksheets("Test Model").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Test Model").Sort.SortFields.Add Key:=Range(_
"R2:R125"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Test Model").Sort
.SetRange Range("A1:AO125")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("C7").Select
End Sub
Я хотел бы, чтобы вызвать этот макрос с помощью выпадающего списка. Я создал раскрывающийся список и написал некоторый синтаксис в редакторе VB в колонке книги excel.
Синтаксис до сих пор:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("J15")) Is Nothing Then
Select Case Range("J15")
Case "Engagement Rate % ": Macro1
End Select
End If
End Sub
Когда я пытаюсь не запускать код происходит ничего ... Может кто-нибудь помочь мне с моим синтаксисом?
Я добавил снимок экрана ниже, чтобы помочь с объяснением.
ли вы определенно включили события? Есть ли определенное место после%? – SJR
Спасибо за ваш отзыв SRJ Это мой первый раз, когда вы используете VBA, поэтому не должны быть события по умолчанию? –
Обычно, но вы можете проверить, открыв ближайшее окно (Ctrl + G) и набрав '? Application.enableevents' и нажмите return. Если он возвращает False, тогда введите 'application.enableevents = true'. Кроме того, определенно ли вы помещаете этот код в правильный модуль листа? – SJR