Макрос-сортировка столбца
wwizard
Дата: Вторник, 10.01.2017, 13:04 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 176
Добрый день. Можно придумать маленьки макрос, который бы просто сортировал, всю таблицу, по примеру кнопки на панели? Т.е. - есть огромная таблица, нужно ее постоянно сортировать по 8му столбцу и по 10му. Т.е. сначала столбец № 8, потом столбец №10 [vba]Код
Sub Сортировка строк по данным в столбце 8() Range("A3:F26").Sort Key1:=Range("C3"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End Sub
[/vba] Пробовал по этому примеру, ничего не получилось
Добрый день. Можно придумать маленьки макрос, который бы просто сортировал, всю таблицу, по примеру кнопки на панели? Т.е. - есть огромная таблица, нужно ее постоянно сортировать по 8му столбцу и по 10му. Т.е. сначала столбец № 8, потом столбец №10 [vba]Код
Sub Сортировка строк по данным в столбце 8() Range("A3:F26").Sort Key1:=Range("C3"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End Sub
[/vba] Пробовал по этому примеру, ничего не получилось wwizard
Ответить
Сообщение Добрый день. Можно придумать маленьки макрос, который бы просто сортировал, всю таблицу, по примеру кнопки на панели? Т.е. - есть огромная таблица, нужно ее постоянно сортировать по 8му столбцу и по 10му. Т.е. сначала столбец № 8, потом столбец №10 [vba]Код
Sub Сортировка строк по данным в столбце 8() Range("A3:F26").Sort Key1:=Range("C3"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End Sub
[/vba] Пробовал по этому примеру, ничего не получилось Автор - wwizard Дата добавления - 10.01.2017 в 13:04
Pelena
Дата: Вторник, 10.01.2017, 13:11 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19401
Репутация:
4549
±
Замечаний:
±
Excel 365 & Mac Excel
Здравствуйте. Макрорекодер записал так в Вашем примере [vba]Код
Sub Макрос1() ' ' Макрос1 Макрос ' ' ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("H2:H5"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("K2:K5"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Лист1").Sort .SetRange Range("A1:K5") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
[/vba]
Здравствуйте. Макрорекодер записал так в Вашем примере [vba]Код
Sub Макрос1() ' ' Макрос1 Макрос ' ' ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("H2:H5"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("K2:K5"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Лист1").Sort .SetRange Range("A1:K5") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
[/vba] Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Здравствуйте. Макрорекодер записал так в Вашем примере [vba]Код
Sub Макрос1() ' ' Макрос1 Макрос ' ' ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("H2:H5"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("K2:K5"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Лист1").Sort .SetRange Range("A1:K5") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
[/vba] Автор - Pelena Дата добавления - 10.01.2017 в 13:11
Wasilich
Дата: Среда, 11.01.2017, 10:48 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
А у меня так [vba]Код
Sub Кнопка1_Щелкнуть() ' ' Кнопка1_Щелкнуть Макрос ' Range("A2:R5").Select Selection.Sort Key1:=Range("H2"), Order1:=xlAscending, Key2:=Range("J2") _ , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal End Sub
[/vba]
А у меня так [vba]Код
Sub Кнопка1_Щелкнуть() ' ' Кнопка1_Щелкнуть Макрос ' Range("A2:R5").Select Selection.Sort Key1:=Range("H2"), Order1:=xlAscending, Key2:=Range("J2") _ , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal End Sub
[/vba] Wasilich
Ответить
Сообщение А у меня так [vba]Код
Sub Кнопка1_Щелкнуть() ' ' Кнопка1_Щелкнуть Макрос ' Range("A2:R5").Select Selection.Sort Key1:=Range("H2"), Order1:=xlAscending, Key2:=Range("J2") _ , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal End Sub
[/vba] Автор - Wasilich Дата добавления - 11.01.2017 в 10:48
wwizard
Дата: Среда, 11.01.2017, 12:39 |
Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 176
Странно - у меня ни один не заработал
Странно - у меня ни один не заработал wwizard
Ответить
Сообщение Странно - у меня ни один не заработал Автор - wwizard Дата добавления - 11.01.2017 в 12:39
wwizard
Дата: Среда, 11.01.2017, 12:50 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 176
Вот так это выглядит до: http://prntscr.com/du6k09 Любой из этих макросов, как и мой - записаный рекордером, делает - обратное. Часть строк остается, и сортирются только значения в столбцах. А нужно, чтобы все значения переставлялись, как еслибы я делал так:http://prntscr.com/du6l3a А сейчас я получаю, после запуска любого из этих, или свой макрос, это: http://prntscr.com/du6llj - но оно неверно.
Вот так это выглядит до: http://prntscr.com/du6k09 Любой из этих макросов, как и мой - записаный рекордером, делает - обратное. Часть строк остается, и сортирются только значения в столбцах. А нужно, чтобы все значения переставлялись, как еслибы я делал так:http://prntscr.com/du6l3a А сейчас я получаю, после запуска любого из этих, или свой макрос, это: http://prntscr.com/du6llj - но оно неверно. wwizard
К сообщению приложен файл:
12.xlsm
(13.8 Kb)
Сообщение отредактировал wwizard - Среда, 11.01.2017, 12:50
Ответить
Сообщение Вот так это выглядит до: http://prntscr.com/du6k09 Любой из этих макросов, как и мой - записаный рекордером, делает - обратное. Часть строк остается, и сортирются только значения в столбцах. А нужно, чтобы все значения переставлялись, как еслибы я делал так:http://prntscr.com/du6l3a А сейчас я получаю, после запуска любого из этих, или свой макрос, это: http://prntscr.com/du6llj - но оно неверно. Автор - wwizard Дата добавления - 11.01.2017 в 12:50
wwizard
Дата: Среда, 11.01.2017, 13:01 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 176
Разобрался. Один вопрос, как вместо: [vba][/vba] K33 - поставить до конца листа?
Разобрался. Один вопрос, как вместо: [vba][/vba] K33 - поставить до конца листа? wwizard
Ответить
Сообщение Разобрался. Один вопрос, как вместо: [vba][/vba] K33 - поставить до конца листа? Автор - wwizard Дата добавления - 11.01.2017 в 13:01
китин
Дата: Среда, 11.01.2017, 13:03 |
Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация:
1078
±
Замечаний:
0% ±
Excel 2007;2010;2016
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
bmv98rus
Дата: Среда, 11.01.2017, 13:31 |
Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
wwizard , та может надо просто столбцы указать от и до и Header = xlYes в примере то заголовак в первой строке код от Wasilich , но не проверял именно этот [vba]Код
Sub Кнопка1_Щелкнуть() ' ' Кнопка1_Щелкнуть Макрос ' Range("A:R").Select Selection.Sort Key1:=Range("H:H"), Order1:=xlAscending, Key2:=Range("j;J") _ , Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal End Sub
[/vba]
wwizard , та может надо просто столбцы указать от и до и Header = xlYes в примере то заголовак в первой строке код от Wasilich , но не проверял именно этот [vba]Код
Sub Кнопка1_Щелкнуть() ' ' Кнопка1_Щелкнуть Макрос ' Range("A:R").Select Selection.Sort Key1:=Range("H:H"), Order1:=xlAscending, Key2:=Range("j;J") _ , Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal End Sub
[/vba]bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Среда, 11.01.2017, 13:35
Ответить
Сообщение wwizard , та может надо просто столбцы указать от и до и Header = xlYes в примере то заголовак в первой строке код от Wasilich , но не проверял именно этот [vba]Код
Sub Кнопка1_Щелкнуть() ' ' Кнопка1_Щелкнуть Макрос ' Range("A:R").Select Selection.Sort Key1:=Range("H:H"), Order1:=xlAscending, Key2:=Range("j;J") _ , Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal End Sub
[/vba]Автор - bmv98rus Дата добавления - 11.01.2017 в 13:31
wwizard
Дата: Среда, 11.01.2017, 13:42 |
Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 176
[vba]Код
Sub Макрос1цуцуцуцуцу() ' ' Макрос1цуцуцуцуцу Макрос Cells.Select ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("H:H"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("J:J"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Лист1").Sort .SetRange Range("A1:K") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("I19").Select End Sub
[/vba] Не заработало
[vba]Код
Sub Макрос1цуцуцуцуцу() ' ' Макрос1цуцуцуцуцу Макрос Cells.Select ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("H:H"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("J:J"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Лист1").Sort .SetRange Range("A1:K") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("I19").Select End Sub
[/vba] Не заработало wwizard
Ответить
Сообщение [vba]Код
Sub Макрос1цуцуцуцуцу() ' ' Макрос1цуцуцуцуцу Макрос Cells.Select ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("H:H"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("J:J"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Лист1").Sort .SetRange Range("A1:K") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("I19").Select End Sub
[/vba] Не заработало Автор - wwizard Дата добавления - 11.01.2017 в 13:42
wwizard
Дата: Среда, 11.01.2017, 13:45 |
Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 176
[vba]Код
Range("A1:K" & Cells(Rows.Count, 1).End(xlUp).Row).Select
[/vba] И если первую вставляю такую - то тоже не работает
[vba]Код
Range("A1:K" & Cells(Rows.Count, 1).End(xlUp).Row).Select
[/vba] И если первую вставляю такую - то тоже не работает wwizard
Ответить
Сообщение [vba]Код
Range("A1:K" & Cells(Rows.Count, 1).End(xlUp).Row).Select
[/vba] И если первую вставляю такую - то тоже не работает Автор - wwizard Дата добавления - 11.01.2017 в 13:45
wwizard
Дата: Среда, 11.01.2017, 13:53 |
Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 176
В общем не получается, не понимаю. [vba]Код
ub æ_Ìàêðîñ_ñîðòèðîâêà() Cells.Select ActiveWorkbook.Worksheets("Ëèñò1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Ëèñò1").Sort.SortFields.Add Key:=Range("H2:H") SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Ëèñò1").Sort.SortFields.Add Key:=Range("K2:K") SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Ëèñò1").Sort .SetRange Range("A1:K" & lr).Value .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
[/vba]
В общем не получается, не понимаю. [vba]Код
ub æ_Ìàêðîñ_ñîðòèðîâêà() Cells.Select ActiveWorkbook.Worksheets("Ëèñò1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Ëèñò1").Sort.SortFields.Add Key:=Range("H2:H") SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Ëèñò1").Sort.SortFields.Add Key:=Range("K2:K") SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Ëèñò1").Sort .SetRange Range("A1:K" & lr).Value .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
[/vba] wwizard
Сообщение отредактировал wwizard - Среда, 11.01.2017, 13:53
Ответить
Сообщение В общем не получается, не понимаю. [vba]Код
ub æ_Ìàêðîñ_ñîðòèðîâêà() Cells.Select ActiveWorkbook.Worksheets("Ëèñò1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Ëèñò1").Sort.SortFields.Add Key:=Range("H2:H") SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Ëèñò1").Sort.SortFields.Add Key:=Range("K2:K") SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Ëèñò1").Sort .SetRange Range("A1:K" & lr).Value .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
[/vba] Автор - wwizard Дата добавления - 11.01.2017 в 13:53
wwizard
Дата: Среда, 11.01.2017, 13:54 |
Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 176
та может надо просто столбцы указать от и до и Header = xlYes в примере то заголовак в первой строке
Можете указать в файле пример, бо у меня не заработало - чтото догнать не могу
та может надо просто столбцы указать от и до и Header = xlYes в примере то заголовак в первой строке
Можете указать в файле пример, бо у меня не заработало - чтото догнать не могуwwizard
Ответить
Сообщение та может надо просто столбцы указать от и до и Header = xlYes в примере то заголовак в первой строке
Можете указать в файле пример, бо у меня не заработало - чтото догнать не могуАвтор - wwizard Дата добавления - 11.01.2017 в 13:54
bmv98rus
Дата: Среда, 11.01.2017, 15:06 |
Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
wwizard, из рекордера по быстромую [vba]Код
Sub Macro1() ActiveSheet.Sort.SortFields.Clear ActiveSheet.Sort.SortFields.Add Key:=Range("H:H"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveSheet.Sort.SortFields.Add Key:=Range("J:J"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveSheet.Sort .SetRange Range("A:K") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
[/vba]
wwizard, из рекордера по быстромую [vba]Код
Sub Macro1() ActiveSheet.Sort.SortFields.Clear ActiveSheet.Sort.SortFields.Add Key:=Range("H:H"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveSheet.Sort.SortFields.Add Key:=Range("J:J"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveSheet.Sort .SetRange Range("A:K") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
[/vba] bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Среда, 11.01.2017, 15:28
Ответить
Сообщение wwizard, из рекордера по быстромую [vba]Код
Sub Macro1() ActiveSheet.Sort.SortFields.Clear ActiveSheet.Sort.SortFields.Add Key:=Range("H:H"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveSheet.Sort.SortFields.Add Key:=Range("J:J"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveSheet.Sort .SetRange Range("A:K") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
[/vba] Автор - bmv98rus Дата добавления - 11.01.2017 в 15:06
wwizard
Дата: Среда, 11.01.2017, 17:11 |
Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 176
Так в томто и дело, что по быстрому не интересно. Интересно разобратся, а спросить совета было не у кого.
Так в томто и дело, что по быстрому не интересно. Интересно разобратся, а спросить совета было не у кого. wwizard
Ответить
Сообщение Так в томто и дело, что по быстрому не интересно. Интересно разобратся, а спросить совета было не у кого. Автор - wwizard Дата добавления - 11.01.2017 в 17:11
wwizard
Дата: Среда, 11.01.2017, 17:21 |
Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 176
К примеру: [vba]Код
Sub Пересчет_цены_с_курса() ActiveCell.FormulaR1C1 = "=RC[1]/R[-1]C" Range("E2").Select Selection.AutoFill Destination:=Range("E2:E27") Range("E2:E27").Select Columns("E:E").Select Selection.NumberFormat = "0.0_ ;[Red]-0.0 " Range("E22").Select End Sub
[/vba] Тут он берет по 27 строку. Вот как сделать чтобы определял количество заполненных строк например по первой колонке, и считал только при этом?
К примеру: [vba]Код
Sub Пересчет_цены_с_курса() ActiveCell.FormulaR1C1 = "=RC[1]/R[-1]C" Range("E2").Select Selection.AutoFill Destination:=Range("E2:E27") Range("E2:E27").Select Columns("E:E").Select Selection.NumberFormat = "0.0_ ;[Red]-0.0 " Range("E22").Select End Sub
[/vba] Тут он берет по 27 строку. Вот как сделать чтобы определял количество заполненных строк например по первой колонке, и считал только при этом? wwizard
Ответить
Сообщение К примеру: [vba]Код
Sub Пересчет_цены_с_курса() ActiveCell.FormulaR1C1 = "=RC[1]/R[-1]C" Range("E2").Select Selection.AutoFill Destination:=Range("E2:E27") Range("E2:E27").Select Columns("E:E").Select Selection.NumberFormat = "0.0_ ;[Red]-0.0 " Range("E22").Select End Sub
[/vba] Тут он берет по 27 строку. Вот как сделать чтобы определял количество заполненных строк например по первой колонке, и считал только при этом? Автор - wwizard Дата добавления - 11.01.2017 в 17:21
bmv98rus
Дата: Среда, 11.01.2017, 17:26 |
Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Wasilich
Дата: Среда, 11.01.2017, 20:01 |
Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
как сделать чтобы определял количество заполненных строк например по первой колонке
Да уж, никто не поймет что вам надо. Количество заполненных строк по первой колонке. (только заполненных, без учета пустых). Только не понятно зачем это для сортировки [vba]Код
KZS = WorksheetFunction.CountA(Columns(1))
[/vba] Надо то, последняя заполненная строка (по первой колонке) [vba]Код
PZS = Range("A" & Rows.Count).End(xlUp).Row PZS = Cells(Rows.Count, 1).End(xlUp).Row PZS = Columns(1).SpecialCells(xlCellTypeLastCell).Row
[/vba]А в коде так [vba]Код
Sub Кнопка1_Щелкнуть() PZS = Range("A" & Rows.Count).End(xlUp).Row Range("A2:R" & PZS).Sort Key1:=Range("H2"), Order1:=xlAscending, Key2:=Range("J2") _ , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal End Sub
[/vba] Или Вам нужна раздельная сортировка по Н и по J. Вразумите нас.
как сделать чтобы определял количество заполненных строк например по первой колонке
Да уж, никто не поймет что вам надо. Количество заполненных строк по первой колонке. (только заполненных, без учета пустых). Только не понятно зачем это для сортировки [vba]Код
KZS = WorksheetFunction.CountA(Columns(1))
[/vba] Надо то, последняя заполненная строка (по первой колонке) [vba]Код
PZS = Range("A" & Rows.Count).End(xlUp).Row PZS = Cells(Rows.Count, 1).End(xlUp).Row PZS = Columns(1).SpecialCells(xlCellTypeLastCell).Row
[/vba]А в коде так [vba]Код
Sub Кнопка1_Щелкнуть() PZS = Range("A" & Rows.Count).End(xlUp).Row Range("A2:R" & PZS).Sort Key1:=Range("H2"), Order1:=xlAscending, Key2:=Range("J2") _ , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal End Sub
[/vba] Или Вам нужна раздельная сортировка по Н и по J. Вразумите нас.Wasilich
Сообщение отредактировал Wasilich - Среда, 11.01.2017, 20:05
Ответить
Сообщение как сделать чтобы определял количество заполненных строк например по первой колонке
Да уж, никто не поймет что вам надо. Количество заполненных строк по первой колонке. (только заполненных, без учета пустых). Только не понятно зачем это для сортировки [vba]Код
KZS = WorksheetFunction.CountA(Columns(1))
[/vba] Надо то, последняя заполненная строка (по первой колонке) [vba]Код
PZS = Range("A" & Rows.Count).End(xlUp).Row PZS = Cells(Rows.Count, 1).End(xlUp).Row PZS = Columns(1).SpecialCells(xlCellTypeLastCell).Row
[/vba]А в коде так [vba]Код
Sub Кнопка1_Щелкнуть() PZS = Range("A" & Rows.Count).End(xlUp).Row Range("A2:R" & PZS).Sort Key1:=Range("H2"), Order1:=xlAscending, Key2:=Range("J2") _ , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal End Sub
[/vba] Или Вам нужна раздельная сортировка по Н и по J. Вразумите нас.Автор - Wasilich Дата добавления - 11.01.2017 в 20:01
DrMini
Дата: Воскресенье, 02.07.2017, 13:00 |
Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1858
Репутация:
266
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
Доброго времени суток. Искал сортировку таблицы макросом и "набрёл" на эту тему. Я своим скудным умишком вроде домыслил, как применить это для себя ЛИСТ "Таблица" .Но не нравится, что после работы макроса все ячейки обработанные макросом становятся выделенными. Помогите исправить.
Доброго времени суток. Искал сортировку таблицы макросом и "набрёл" на эту тему. Я своим скудным умишком вроде домыслил, как применить это для себя ЛИСТ "Таблица" .Но не нравится, что после работы макроса все ячейки обработанные макросом становятся выделенными. Помогите исправить.DrMini
Ответить
Сообщение Доброго времени суток. Искал сортировку таблицы макросом и "набрёл" на эту тему. Я своим скудным умишком вроде домыслил, как применить это для себя ЛИСТ "Таблица" .Но не нравится, что после работы макроса все ячейки обработанные макросом становятся выделенными. Помогите исправить.Автор - DrMini Дата добавления - 02.07.2017 в 13:00
Pelena
Дата: Воскресенье, 02.07.2017, 13:07 |
Сообщение № 19
Группа: Админы
Ранг: Местный житель
Сообщений: 19401
Репутация:
4549
±
Замечаний:
±
Excel 365 & Mac Excel
Просто добавьте в конец макроса активацию какой-нибудь ячейки, например, [vba][/vba]
Просто добавьте в конец макроса активацию какой-нибудь ячейки, например, [vba][/vba] Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Просто добавьте в конец макроса активацию какой-нибудь ячейки, например, [vba][/vba] Автор - Pelena Дата добавления - 02.07.2017 в 13:07
RAN
Дата: Воскресенье, 02.07.2017, 13:10 |
Сообщение № 20
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Достаточно просто удалить слова Select и Selection.
Достаточно просто удалить слова Select и Selection. RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Достаточно просто удалить слова Select и Selection. Автор - RAN Дата добавления - 02.07.2017 в 13:10