#excel #vba
#excel #vba
Вопрос:
Это мой код, вот в чем проблема
- Столбец N должен сортировать от наибольшего к наименьшему
- Столбец P должен сортировать Z по A
- Строка 3 — это место, где находятся заголовки, строки с 4 по 1000 — это место, где находятся данные.
- Без приведенного ниже кода, когда я записываю макрос для этого, все в порядке, но когда я добавляю его в основной макрос, который запускает другие макросы, который находится на другом листе, он не работает.
Sub SortLost()
Worksheets("Lost Data").Sort.SortFields.Clear
Range("F3:P1000").Sort Key1:=Range("N3"), Key2:=Range("P3"), Header:=xlYes, _
Order1:=xlAscending, Order2:=xlDescending
End Sub
Комментарии:
1. Вы не указали
Worksheet
для своихRange
вызовов.2. Что означает «квалифицированный»?
3.
Worksheets("Lost Data").Range("F3:P1000")
и так далее. Или вы можете использоватьWith
инструкцию, чтобы сэкономить ввод текста:With Worksheets("Lost Data")
,.Range("F3:P1000").Sort Key1:=.Range("N3")...
,End With
. Обратите внимание на период.
перед каждымRange
вызовом.4. Отображается как ошибка
5. Вложенные листы SortLost () («Потерянные данные»).Sort.SortFields. Очистить рабочие листы («Потерянные данные»). Диапазон («F3: P1000»). Ключ сортировки 1:= диапазон («N3»), ключ2:= диапазон («P3»), заголовок:= xlIes, _ Order1:= xlAscending, Order2:= xlDescending End Sub