Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2012, 11:12   #1
maxpay
 
Регистрация: 08.11.2012
Сообщений: 9
По умолчанию Макрос работает на заданных строках

Здравствуйте!

Данный макрос поднимает (сортирует по возрастанию) строку верх по ключу в столбце А

Private Sub Worksheet_Change(ByVal Target As Range)
Range("A:B").Sort _
Key1:=Range("A1"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortNormal
End Sub

а как делать чтобы он поднимал (сортировал по возрастанию) строки в указанном диапазоне строк, например строк с 5 по 100?
maxpay вне форума Ответить с цитированием
Старый 18.11.2012, 11:22   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Range("A5:B100")
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 18.11.2012, 11:41   #3
maxpay
 
Регистрация: 08.11.2012
Сообщений: 9
По умолчанию

Спасибо большое
Все работает
maxpay вне форума Ответить с цитированием
Старый 18.11.2012, 11:53   #4
maxpay
 
Регистрация: 08.11.2012
Сообщений: 9
По умолчанию

Возможно ли сделать чтобы он еще и в диапазоне "A111:B200" мог работать. Или проще макрос продублировать?
maxpay вне форума Ответить с цитированием
Старый 18.11.2012, 12:28   #5
maxpay
 
Регистрация: 08.11.2012
Сообщений: 9
По умолчанию

Range("A5:B100", "A111:B200") так не работает Пишет - "Нужно чтобы ячейки имели одинаковый размер"
maxpay вне форума Ответить с цитированием
Старый 18.11.2012, 13:22   #6
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Возможно ли сделать чтобы он еще и в диапазоне "A111:B200" мог работать.
А какой смысл? в таком случае он все равно сортирует диапазон Range("A2:B200")
Цитата:
Range("A5:B100", "A111:B200") так не работает Пишет - "Нужно чтобы ячейки имели одинаковый размер"
У меня работает и так. У Вас скорее всего, присутствуют объединенные ячейки в диапазоне.
Вот и "ругается")
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 18.11.2012, 15:26   #7
maxpay
 
Регистрация: 08.11.2012
Сообщений: 9
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
А какой смысл? в таком случае он все равно сортирует диапазон Range("A2:B200")

У меня работает и так. У Вас скорее всего, присутствуют объединенные ячейки в диапазоне.
Вот и "ругается")
Да Вы правы, объединенные ячейки есть. Они разделяют группы данных. Мне и нужно чтобы этот макрос мог сортировать в каждой группе отдельно.
maxpay вне форума Ответить с цитированием
Старый 18.11.2012, 17:01   #8
maxpay
 
Регистрация: 08.11.2012
Сообщений: 9
По умолчанию

Все решил задачу

Вот так. Все просто.

Private Sub Worksheet_Change(ByVal Target As Range)
Range("4:107").Sort _
Key1:=Range("A1"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortNormal
Range("111:214").Sort _
Key1:=Range("A111"), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("218:310").Sort _
Key1:=Range("A218"), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub



Всем спасибо
maxpay вне форума Ответить с цитированием
Старый 18.11.2012, 17:01   #9
maxpay
 
Регистрация: 08.11.2012
Сообщений: 9
По умолчанию

Всем спасибо

Последний раз редактировалось maxpay; 18.11.2012 в 17:35.
maxpay вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает макрос в XP vefer Microsoft Office Excel 6 22.01.2012 15:28
Не работает макрос по сети ZHDN Microsoft Office Excel 8 11.12.2011 21:16
Макрос не правильно работает staniiislav Microsoft Office Excel 6 12.10.2011 17:02
Макрос работает неправильно AllenJ Microsoft Office Word 0 13.04.2011 21:17
Нужна программа \ макрос в екселе для расчета вариантов лотерейных билетов из заранее заданных критериев elenaaaa Фриланс 7 10.01.2011 15:02