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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое выполнение макроса - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическое выполнение макроса (Форматирование/Formattings)
Автоматическое выполнение макроса
Tronel Дата: Пятница, 13.01.2017, 11:17 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день. В данной таблице присутствует макрос по сортровке относительно даты, но макрос срабатывает только при ручной его активации. Неободимо чтобы сортирвока производилась атоматически при добавлении или редактировании значений в таблице.

Как можно включить автоматическое выполнение макроса ?
К сообщению приложен файл: prioritet.xlsm (21.5 Kb)
 
Ответить
СообщениеДобрый день. В данной таблице присутствует макрос по сортровке относительно даты, но макрос срабатывает только при ручной его активации. Неободимо чтобы сортирвока производилась атоматически при добавлении или редактировании значений в таблице.

Как можно включить автоматическое выполнение макроса ?

Автор - Tronel
Дата добавления - 13.01.2017 в 11:17
китин Дата: Пятница, 13.01.2017, 11:23 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7019
Репутация: 1074 ±
Замечаний: 0% ±

Excel 2007;2010;2016
ну ваш макрос только в модуль листа1
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("D7:D25"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Лист1").Sort
        .SetRange Range("A7:E25")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
[/vba]
К сообщению приложен файл: 555111.xlsm (20.8 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениену ваш макрос только в модуль листа1
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("D7:D25"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Лист1").Sort
        .SetRange Range("A7:E25")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
[/vba]

Автор - китин
Дата добавления - 13.01.2017 в 11:23
sboy Дата: Пятница, 13.01.2017, 11:27 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
в модуль лист1
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Set rD = Range("D7:D25")
If Intersect(Target, rD) Is Nothing Then Exit Sub
    With ActiveSheet
    .Sort.SortFields.Clear
    .Sort.SortFields.Add Key:=Range("D7:D25"), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With .Sort
            .SetRange Range("A7:E25")
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
End Sub
[/vba]
К сообщению приложен файл: 1007336.xlsm (21.3 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
в модуль лист1
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Set rD = Range("D7:D25")
If Intersect(Target, rD) Is Nothing Then Exit Sub
    With ActiveSheet
    .Sort.SortFields.Clear
    .Sort.SortFields.Add Key:=Range("D7:D25"), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With .Sort
            .SetRange Range("A7:E25")
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
End Sub
[/vba]

Автор - sboy
Дата добавления - 13.01.2017 в 11:27
Tronel Дата: Пятница, 13.01.2017, 11:39 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо за оперативность
 
Ответить
СообщениеСпасибо за оперативность

Автор - Tronel
Дата добавления - 13.01.2017 в 11:39
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическое выполнение макроса (Форматирование/Formattings)
  • Страница 1 из 1
  • 1
Поиск:

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