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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическая сортировка строк согласно меньшего времени. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Автоматическая сортировка строк согласно меньшего времени.
samykins Дата: Вторник, 13.05.2014, 08:16 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Необходимо чтобы строки автоматически занимали места согласно меньшего времени к большему.
К сообщению приложен файл: 0174370.xlsm (25.7 Kb)


Говорят, что коты помогают снять стресс. И ведь действительно, пнёшь засранца - и сразу легче!

Сообщение отредактировал samykins - Вторник, 13.05.2014, 08:18
 
Ответить
СообщениеНеобходимо чтобы строки автоматически занимали места согласно меньшего времени к большему.

Автор - samykins
Дата добавления - 13.05.2014 в 08:16
AlexM Дата: Вторник, 13.05.2014, 10:36 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
В таблице убрал объединенные ячейки из диапазона сортировки и немного изменил формулы.
Маленький комментарий в файле.
К сообщению приложен файл: 0174370_new1.xls (50.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеВ таблице убрал объединенные ячейки из диапазона сортировки и немного изменил формулы.
Маленький комментарий в файле.

Автор - AlexM
Дата добавления - 13.05.2014 в 10:36
китин Дата: Вторник, 13.05.2014, 10:47 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 7031
Репутация: 1079 ±
Замечаний: 0% ±

Excel 2007;2010;2016
AlexM, но как?понял.макрос


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Вторник, 13.05.2014, 10:48
 
Ответить
СообщениеAlexM, но как?понял.макрос

Автор - китин
Дата добавления - 13.05.2014 в 10:47
AlexM Дата: Вторник, 13.05.2014, 10:48 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Что как?



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеЧто как?

Автор - AlexM
Дата добавления - 13.05.2014 в 10:48
китин Дата: Вторник, 13.05.2014, 10:49 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 7031
Репутация: 1079 ±
Замечаний: 0% ±

Excel 2007;2010;2016
свой пост выше подправил


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениесвой пост выше подправил

Автор - китин
Дата добавления - 13.05.2014 в 10:49
AlexM Дата: Вторник, 13.05.2014, 10:51 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Код макроса[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Range("J6:J26,N6:N26,R6:R26,V6:V26"), Target) Is Nothing Then
     If Target.Offset(0, -2) = "" Then Target.Value = ""
     If Target.Offset(0, -2) <> "" Then Range("A6:AI26").Sort Key1:=Range("AI6")
End If
Application.EnableEvents = True
End Sub
[/vba]



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеКод макроса[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Range("J6:J26,N6:N26,R6:R26,V6:V26"), Target) Is Nothing Then
     If Target.Offset(0, -2) = "" Then Target.Value = ""
     If Target.Offset(0, -2) <> "" Then Range("A6:AI26").Sort Key1:=Range("AI6")
End If
Application.EnableEvents = True
End Sub
[/vba]

Автор - AlexM
Дата добавления - 13.05.2014 в 10:51
samykins Дата: Вторник, 13.05.2014, 11:40 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

AlexM, Спасибо огромное, всё работает. Но есть маленькая неувязочка в моём случае будет около 15 категорий, можно ли как то заставить макрос работать в разных категориях?

Кстати от Вас тоже был ответ по вставке текущего времени в ячейку по двойному нажатию.
Цитата
"Можно так
Код вставить в модуль листа
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target = Format(Time, "Long Time")
End Sub"

Подскажите пожалуйста можно ли подправить макрос так, чтобы по двойному клику это работало только в некоторых столбцах. (I,K,M,O,Q,S,U,W)
Спасибо!
К сообщению приложен файл: 3830832.xlsm (38.1 Kb)


Говорят, что коты помогают снять стресс. И ведь действительно, пнёшь засранца - и сразу легче!

Сообщение отредактировал samykins - Вторник, 13.05.2014, 12:01
 
Ответить
СообщениеAlexM, Спасибо огромное, всё работает. Но есть маленькая неувязочка в моём случае будет около 15 категорий, можно ли как то заставить макрос работать в разных категориях?

Кстати от Вас тоже был ответ по вставке текущего времени в ячейку по двойному нажатию.
Цитата
"Можно так
Код вставить в модуль листа
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target = Format(Time, "Long Time")
End Sub"

Подскажите пожалуйста можно ли подправить макрос так, чтобы по двойному клику это работало только в некоторых столбцах. (I,K,M,O,Q,S,U,W)
Спасибо!

Автор - samykins
Дата добавления - 13.05.2014 в 11:40
AlexM Дата: Вторник, 13.05.2014, 12:45 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Замените код на такой[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Range("K6:K1000,O6:O1000,S6:S1000,W6:W1000"), Target) Is Nothing Then
      If Target.Offset(0, -2) = "" Then Target.Value = ""
      Set iKey1 = Range("AJ" & Cells(Target.Row, 9).End(xlUp).Row) 'по столбцу J определяем iKey1 и IRange
      Set IRange = Range("A" & Cells(Target.Row, 9).End(xlUp).Row & ":AJ" & Cells(Target.Row, 9).End(xlDown).Row)
      If Target.Offset(0, -2) <> "" Then IRange.Sort Key1:=iKey1
End If
Application.EnableEvents = True
End Sub
[/vba]
чтобы по двойному клику это работало только в некоторых столбцах. (I,K,M,O,Q,S,U,W)
Замените код[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("I6:I1000,K6:K1000,M6:M1000,O6:O1000,Q6:Q1000,S6:S1000,U6:U1000,W6:W1000"), Target) Is Nothing Then
Target = Format(Time, "Long Time")
End If
End Sub
[/vba]
Проверить не могу, так как в dfitv файле формулы не работают в Excel2003



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Вторник, 13.05.2014, 12:53
 
Ответить
СообщениеЗамените код на такой[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Range("K6:K1000,O6:O1000,S6:S1000,W6:W1000"), Target) Is Nothing Then
      If Target.Offset(0, -2) = "" Then Target.Value = ""
      Set iKey1 = Range("AJ" & Cells(Target.Row, 9).End(xlUp).Row) 'по столбцу J определяем iKey1 и IRange
      Set IRange = Range("A" & Cells(Target.Row, 9).End(xlUp).Row & ":AJ" & Cells(Target.Row, 9).End(xlDown).Row)
      If Target.Offset(0, -2) <> "" Then IRange.Sort Key1:=iKey1
End If
Application.EnableEvents = True
End Sub
[/vba]
чтобы по двойному клику это работало только в некоторых столбцах. (I,K,M,O,Q,S,U,W)
Замените код[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("I6:I1000,K6:K1000,M6:M1000,O6:O1000,Q6:Q1000,S6:S1000,U6:U1000,W6:W1000"), Target) Is Nothing Then
Target = Format(Time, "Long Time")
End If
End Sub
[/vba]
Проверить не могу, так как в dfitv файле формулы не работают в Excel2003

Автор - AlexM
Дата добавления - 13.05.2014 в 12:45
samykins Дата: Вторник, 13.05.2014, 13:07 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Замените код на такойPrivate Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Range("K6:K1000,O6:O1000,S6:S1000,W6:W1000"), Target) Is Nothing Then
If Target.Offset(0, -2) = "" Then Target.Value = ""
Set iKey1 = Range("AJ" & Cells(Target.Row, 9).End(xlUp).Row) 'по столбцу J определяем iKey1 и IRange
Set IRange = Range("A" & Cells(Target.Row, 9).End(xlUp).Row & ":AJ" & Cells(Target.Row, 9).End(xlDown).Row)
If Target.Offset(0, -2) <> "" Then IRange.Sort Key1:=iKey1
End If
Application.EnableEvents = True
End Sub

Пишет Run time error 1004
Для этого требуется чтобы ячейки были одинакового размера.
Видимо не нравятся объединённые ячейки для категорий групп.
Но всё равно на сколько я понял это не совсем то. Нужно чтобы в каждой категории счет снова шел от 1 до .....
С временем всё работает спасибо!


Говорят, что коты помогают снять стресс. И ведь действительно, пнёшь засранца - и сразу легче!
 
Ответить
Сообщение
Замените код на такойPrivate Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Range("K6:K1000,O6:O1000,S6:S1000,W6:W1000"), Target) Is Nothing Then
If Target.Offset(0, -2) = "" Then Target.Value = ""
Set iKey1 = Range("AJ" & Cells(Target.Row, 9).End(xlUp).Row) 'по столбцу J определяем iKey1 и IRange
Set IRange = Range("A" & Cells(Target.Row, 9).End(xlUp).Row & ":AJ" & Cells(Target.Row, 9).End(xlDown).Row)
If Target.Offset(0, -2) <> "" Then IRange.Sort Key1:=iKey1
End If
Application.EnableEvents = True
End Sub

Пишет Run time error 1004
Для этого требуется чтобы ячейки были одинакового размера.
Видимо не нравятся объединённые ячейки для категорий групп.
Но всё равно на сколько я понял это не совсем то. Нужно чтобы в каждой категории счет снова шел от 1 до .....
С временем всё работает спасибо!

Автор - samykins
Дата добавления - 13.05.2014 в 13:07
AlexM Дата: Вторник, 13.05.2014, 13:27 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
В таблице убрал объединенные ячейки из диапазона сортировки
Вы не обратили на это внимание?



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
В таблице убрал объединенные ячейки из диапазона сортировки
Вы не обратили на это внимание?

Автор - AlexM
Дата добавления - 13.05.2014 в 13:27
samykins Дата: Вторник, 13.05.2014, 14:36 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

AlexM, Конечно заметил и всё заменил.
Но видимо что то делаю не так.
Помогите пожалуйста
К сообщению приложен файл: 1547409.xlsm (37.7 Kb)


Говорят, что коты помогают снять стресс. И ведь действительно, пнёшь засранца - и сразу легче!
 
Ответить
СообщениеAlexM, Конечно заметил и всё заменил.
Но видимо что то делаю не так.
Помогите пожалуйста

Автор - samykins
Дата добавления - 13.05.2014 в 14:36
AlexM Дата: Вторник, 13.05.2014, 14:49 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Не правильно определялся диапазон сортировки, если изменять время в начале и конце групп. Дополнил код несколькими строками.
К сообщению приложен файл: 0174370_new3.xls (69.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеНе правильно определялся диапазон сортировки, если изменять время в начале и конце групп. Дополнил код несколькими строками.

Автор - AlexM
Дата добавления - 13.05.2014 в 14:49
samykins Дата: Вторник, 13.05.2014, 16:03 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

AlexM, Видимо я вас окончательно достал. Ну никак я не могу понять этот макрос. В полноценной таблице ну ни как не хочет (((
К сообщению приложен файл: 0025340.xlsm (96.5 Kb)


Говорят, что коты помогают снять стресс. И ведь действительно, пнёшь засранца - и сразу легче!

Сообщение отредактировал samykins - Вторник, 13.05.2014, 16:03
 
Ответить
СообщениеAlexM, Видимо я вас окончательно достал. Ну никак я не могу понять этот макрос. В полноценной таблице ну ни как не хочет (((

Автор - samykins
Дата добавления - 13.05.2014 в 16:03
AlexM Дата: Вторник, 13.05.2014, 16:42 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
В полноценной таблице ну ни как не хочет
Как это проявляется?
Во второй группе в формулах столбца AJ неверно указан диапазон. Должен быть AG$33:$AG$47, а указан $AI$33:$AI$38
Конечно заметил и всё заменил.
Видно не все. Я вам файлы даю в формате Excel2003, а вы в Excel старших версий. У меня ваши формулы не работают. Приходится конвертировать каждый ваш файл и переделывать руками формулы в столбцах от Y до AI. Утомительно. :(
В вашем файле есть скрытый пустой столбец Н, а в моем его нет., поэтому определение диапазонов групп у вас получается неверным.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
В полноценной таблице ну ни как не хочет
Как это проявляется?
Во второй группе в формулах столбца AJ неверно указан диапазон. Должен быть AG$33:$AG$47, а указан $AI$33:$AI$38
Конечно заметил и всё заменил.
Видно не все. Я вам файлы даю в формате Excel2003, а вы в Excel старших версий. У меня ваши формулы не работают. Приходится конвертировать каждый ваш файл и переделывать руками формулы в столбцах от Y до AI. Утомительно. :(
В вашем файле есть скрытый пустой столбец Н, а в моем его нет., поэтому определение диапазонов групп у вас получается неверным.

Автор - AlexM
Дата добавления - 13.05.2014 в 16:42
samykins Дата: Вторник, 13.05.2014, 17:08 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

AlexM, Вот спасибо, вы практически мне открыли глаза. С столбцом H, стоило его удалить как всё заработало. Да и с диапазоном тоже подсказали.
Подскажите пожалуйста тогда и такой момент. Если я включаю защиту на листа пытаясь скрыть формулы в ячейках то макрос перестает работать, этого можно избежать?
Спасибо!


Говорят, что коты помогают снять стресс. И ведь действительно, пнёшь засранца - и сразу легче!

Сообщение отредактировал samykins - Вторник, 13.05.2014, 17:14
 
Ответить
СообщениеAlexM, Вот спасибо, вы практически мне открыли глаза. С столбцом H, стоило его удалить как всё заработало. Да и с диапазоном тоже подсказали.
Подскажите пожалуйста тогда и такой момент. Если я включаю защиту на листа пытаясь скрыть формулы в ячейках то макрос перестает работать, этого можно избежать?
Спасибо!

Автор - samykins
Дата добавления - 13.05.2014 в 17:08
AlexM Дата: Вторник, 13.05.2014, 17:45 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
этого можно избежать
Можно.
Макросом, первым делом, надо снять защиту листа, затем выполнить код, затем поставить защиту листа.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Вторник, 13.05.2014, 17:45
 
Ответить
Сообщение
этого можно избежать
Можно.
Макросом, первым делом, надо снять защиту листа, затем выполнить код, затем поставить защиту листа.

Автор - AlexM
Дата добавления - 13.05.2014 в 17:45
samykins Дата: Вторник, 13.05.2014, 18:14 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Честно говоря не совсем понял как?
Если не сложно можно поподробнее?
Спасибо!


Говорят, что коты помогают снять стресс. И ведь действительно, пнёшь засранца - и сразу легче!
 
Ответить
СообщениеЧестно говоря не совсем понял как?
Если не сложно можно поподробнее?
Спасибо!

Автор - samykins
Дата добавления - 13.05.2014 в 18:14
Pelena Дата: Вторник, 13.05.2014, 18:37 | Сообщение № 18
Группа: Админы
Ранг: Местный житель
Сообщений: 19437
Репутация: 4572 ±
Замечаний: ±

Excel 365 & Mac Excel
samykins, Вы будете теперь все свои вопросы в одну тему складывать?

Воспользуйтесь поиском


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеsamykins, Вы будете теперь все свои вопросы в одну тему складывать?

Воспользуйтесь поиском

Автор - Pelena
Дата добавления - 13.05.2014 в 18:37
AlexM Дата: Вторник, 13.05.2014, 19:07 | Сообщение № 19
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Последний совет в этой теме.
Сначала форматом ячеек устанавливаем защищать ячейку или нет.
Защищаем лист, запрещая выделять защищенные ячейки.
В начале кода снимаем защиту[vba]
Код
ActiveSheet.Unprotect
[/vba]в конце - устанавливем[vba]
Код
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
[/vba]
К сообщению приложен файл: 0174370_new4.xls (61.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Вторник, 13.05.2014, 19:08
 
Ответить
СообщениеПоследний совет в этой теме.
Сначала форматом ячеек устанавливаем защищать ячейку или нет.
Защищаем лист, запрещая выделять защищенные ячейки.
В начале кода снимаем защиту[vba]
Код
ActiveSheet.Unprotect
[/vba]в конце - устанавливем[vba]
Код
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
[/vba]

Автор - AlexM
Дата добавления - 13.05.2014 в 19:07
samykins Дата: Вторник, 13.05.2014, 19:59 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

AlexM, премного Вам благодарен !


Говорят, что коты помогают снять стресс. И ведь действительно, пнёшь засранца - и сразу легче!

Сообщение отредактировал samykins - Вторник, 13.05.2014, 19:59
 
Ответить
СообщениеAlexM, премного Вам благодарен !

Автор - samykins
Дата добавления - 13.05.2014 в 19:59
  • Страница 1 из 1
  • 1
Поиск:

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