Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Оптимизировать сортировку - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Оптимизировать сортировку (Макросы/Sub)
Оптимизировать сортировку
Сергей13 Дата: Среда, 15.05.2019, 00:32 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте!
Ребята через запись макроса создаю простую сортировку (АЯ).
[vba]
Код
Sub Sort1()
    ActiveWorkbook.Worksheets("Лист1").ListObjects("Таблица1").Sort.SortFields. _
        Clear
    ActiveWorkbook.Worksheets("Лист1").ListObjects("Таблица1").Sort.SortFields.Add _
        Key:=Range("Таблица1[[#Headers],[Столбец1]]"), SortOn:=xlSortOnValues, _
        Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Лист1").ListObjects("Таблица1").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
[/vba]
Пытаюсь ее оптимизировать под найденный код.
[vba]
Код
Sub Sort2()
    ActiveWorkbook.Worksheets("Лист1").Range("Таблица1[[#Headers]]").Sort [a1], xlAscending, , , , , , xlYes
End Sub
[/vba]
Если при первом варианте действие выполняется независимо от активности листа, то второй вариант срабатывает только на активном листе, при не активности листа выдается ошибка о недопустимой ссылки для сортировки.
Как данную сортировку применить для неактивного листа?


Сообщение отредактировал Сергей13 - Среда, 15.05.2019, 00:35
 
Ответить
СообщениеЗдравствуйте!
Ребята через запись макроса создаю простую сортировку (АЯ).
[vba]
Код
Sub Sort1()
    ActiveWorkbook.Worksheets("Лист1").ListObjects("Таблица1").Sort.SortFields. _
        Clear
    ActiveWorkbook.Worksheets("Лист1").ListObjects("Таблица1").Sort.SortFields.Add _
        Key:=Range("Таблица1[[#Headers],[Столбец1]]"), SortOn:=xlSortOnValues, _
        Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Лист1").ListObjects("Таблица1").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
[/vba]
Пытаюсь ее оптимизировать под найденный код.
[vba]
Код
Sub Sort2()
    ActiveWorkbook.Worksheets("Лист1").Range("Таблица1[[#Headers]]").Sort [a1], xlAscending, , , , , , xlYes
End Sub
[/vba]
Если при первом варианте действие выполняется независимо от активности листа, то второй вариант срабатывает только на активном листе, при не активности листа выдается ошибка о недопустимой ссылки для сортировки.
Как данную сортировку применить для неактивного листа?

Автор - Сергей13
Дата добавления - 15.05.2019 в 00:32
gling Дата: Среда, 15.05.2019, 00:39 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1954
Репутация: 486 ±
Замечаний: 0% ±

2010
Цитата Сергей13, 15.05.2019 в 00:32, в сообщении № 1 ()
Sort [a1]
Возможно не указано на каком листе этот [а1], попробуйте написать ActiveWorkbook.Worksheets("Лист1").[a1]


ЯД-41001506838083

Сообщение отредактировал gling - Среда, 15.05.2019, 00:42
 
Ответить
Сообщение
Цитата Сергей13, 15.05.2019 в 00:32, в сообщении № 1 ()
Sort [a1]
Возможно не указано на каком листе этот [а1], попробуйте написать ActiveWorkbook.Worksheets("Лист1").[a1]

Автор - gling
Дата добавления - 15.05.2019 в 00:39
Сергей13 Дата: Среда, 15.05.2019, 18:55 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
gling, Вы правы. Спасибо!
 
Ответить
Сообщениеgling, Вы правы. Спасибо!

Автор - Сергей13
Дата добавления - 15.05.2019 в 18:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Оптимизировать сортировку (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!