Нет решения для простого кода VBA для сортировки данных на скрытом листе

#excel #vba

#excel #vba

Вопрос:

Это мой код, вот в чем проблема

  1. Столбец N должен сортировать от наибольшего к наименьшему
  2. Столбец P должен сортировать Z по A
  3. Строка 3 — это место, где находятся заголовки, строки с 4 по 1000 — это место, где находятся данные.
  4. Без приведенного ниже кода, когда я записываю макрос для этого, все в порядке, но когда я добавляю его в основной макрос, который запускает другие макросы, который находится на другом листе, он не работает.
 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