Сортировка на основании выбранного столбца
Сергей13
Дата: Суббота, 20.04.2019, 19:37 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Здравствуйте. Ребята помогите реализовать сортировку нужного столбца, независимо от количества строк на основании введенного числового значения в TextBox1 которое обозначает номер сортируемого столбца. В коде примерно это видится так. [vba]Код
With GroupSheet.Sort 'Обращение к листу group .SetRange Range(m) 'Сортируемая колонка на основании переменной с числовым значением в TextBox1 .Header = xlNo 'Заголовок .MatchCase = False 'Учитывать регистр .Orientation = xlTopToBottom 'Ориентация .SortMethod = xlPinYin 'Способ cортировки .Apply 'Применить End With
[/vba]
Здравствуйте. Ребята помогите реализовать сортировку нужного столбца, независимо от количества строк на основании введенного числового значения в TextBox1 которое обозначает номер сортируемого столбца. В коде примерно это видится так. [vba]Код
With GroupSheet.Sort 'Обращение к листу group .SetRange Range(m) 'Сортируемая колонка на основании переменной с числовым значением в TextBox1 .Header = xlNo 'Заголовок .MatchCase = False 'Учитывать регистр .Orientation = xlTopToBottom 'Ориентация .SortMethod = xlPinYin 'Способ cортировки .Apply 'Применить End With
[/vba] Сергей13
Ответить
Сообщение Здравствуйте. Ребята помогите реализовать сортировку нужного столбца, независимо от количества строк на основании введенного числового значения в TextBox1 которое обозначает номер сортируемого столбца. В коде примерно это видится так. [vba]Код
With GroupSheet.Sort 'Обращение к листу group .SetRange Range(m) 'Сортируемая колонка на основании переменной с числовым значением в TextBox1 .Header = xlNo 'Заголовок .MatchCase = False 'Учитывать регистр .Orientation = xlTopToBottom 'Ориентация .SortMethod = xlPinYin 'Способ cортировки .Apply 'Применить End With
[/vba] Автор - Сергей13 Дата добавления - 20.04.2019 в 19:37
InExSu
Дата: Воскресенье, 21.04.2019, 00:35 |
Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
Привет! В UserForm1 [vba]Код
Private Sub CommandButton1_Click() Столбец_Сортировать ActiveSheet, Me.TextBox1 End Sub
[/vba] в Module1 [vba]Код
Sub FormOtkriti() UserForm1.TextBox1 = ActiveCell.Column UserForm1.Show End Sub Public Function Столбец_Сортировать(ws As Worksheet, ByVal iCol As Long) ' Тестом НЕ покрыто With ws Сортировать .UsedRange, iCol, _ xlAscending, xlYes End With End Function Public Function Сортировать(r As Range, ByVal iCol As Long, ByVal ord As Variant, _ ByVal iHead As Variant) ' Тестом НЕ покрыта With r .Sort key1:=.Cells(1, iCol), order1:=ord, Header:=iHead End With End Function
[/vba]
Привет! В UserForm1 [vba]Код
Private Sub CommandButton1_Click() Столбец_Сортировать ActiveSheet, Me.TextBox1 End Sub
[/vba] в Module1 [vba]Код
Sub FormOtkriti() UserForm1.TextBox1 = ActiveCell.Column UserForm1.Show End Sub Public Function Столбец_Сортировать(ws As Worksheet, ByVal iCol As Long) ' Тестом НЕ покрыто With ws Сортировать .UsedRange, iCol, _ xlAscending, xlYes End With End Function Public Function Сортировать(r As Range, ByVal iCol As Long, ByVal ord As Variant, _ ByVal iHead As Variant) ' Тестом НЕ покрыта With r .Sort key1:=.Cells(1, iCol), order1:=ord, Header:=iHead End With End Function
[/vba] InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение Привет! В UserForm1 [vba]Код
Private Sub CommandButton1_Click() Столбец_Сортировать ActiveSheet, Me.TextBox1 End Sub
[/vba] в Module1 [vba]Код
Sub FormOtkriti() UserForm1.TextBox1 = ActiveCell.Column UserForm1.Show End Sub Public Function Столбец_Сортировать(ws As Worksheet, ByVal iCol As Long) ' Тестом НЕ покрыто With ws Сортировать .UsedRange, iCol, _ xlAscending, xlYes End With End Function Public Function Сортировать(r As Range, ByVal iCol As Long, ByVal ord As Variant, _ ByVal iHead As Variant) ' Тестом НЕ покрыта With r .Sort key1:=.Cells(1, iCol), order1:=ord, Header:=iHead End With End Function
[/vba] Автор - InExSu Дата добавления - 21.04.2019 в 00:35
Сергей13
Дата: Воскресенье, 21.04.2019, 02:48 |
Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
InExSu , Походу я не полностью раскрыл тему по данному предложению «реализовать сортировку нужного столбца». Под нужным столбцом подразумевалась сортировка именно его, то есть нужного столбца, на соседние столбцы сортировка не должна распространяться.
InExSu , Походу я не полностью раскрыл тему по данному предложению «реализовать сортировку нужного столбца». Под нужным столбцом подразумевалась сортировка именно его, то есть нужного столбца, на соседние столбцы сортировка не должна распространяться.Сергей13
Сообщение отредактировал Сергей13 - Воскресенье, 21.04.2019, 02:55
Ответить
Сообщение InExSu , Походу я не полностью раскрыл тему по данному предложению «реализовать сортировку нужного столбца». Под нужным столбцом подразумевалась сортировка именно его, то есть нужного столбца, на соседние столбцы сортировка не должна распространяться.Автор - Сергей13 Дата добавления - 21.04.2019 в 02:48
RAN
Дата: Воскресенье, 21.04.2019, 08:10 |
Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
подразумевалась сортировка именно его, то есть нужного столбца
Что макрос InExSu и делает. А вам хочу порекомендовать, прежде, чем выкидывать что-либо из кода макрорекордера, разберитесь, можно ли это выкидывать.
подразумевалась сортировка именно его, то есть нужного столбца
Что макрос InExSu и делает. А вам хочу порекомендовать, прежде, чем выкидывать что-либо из кода макрорекордера, разберитесь, можно ли это выкидывать.RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение подразумевалась сортировка именно его, то есть нужного столбца
Что макрос InExSu и делает. А вам хочу порекомендовать, прежде, чем выкидывать что-либо из кода макрорекордера, разберитесь, можно ли это выкидывать.Автор - RAN Дата добавления - 21.04.2019 в 08:10
InExSu
Дата: Воскресенье, 21.04.2019, 09:46 |
Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
на соседние столбцы сортировка не должна распространяться
Тогда замените [vba]Код
Public Function Столбец_Сортировать(ws As Worksheet, ByVal iCol As Long) ' Тестом НЕ покрыто With ws Сортировать .UsedRange, iCol, _ xlAscending, xlYes End With End Function
[/vba] на [vba]Код
Public Function Столбец_Сортировать(ws As Worksheet, ByVal iCol As Long) ' Тестом НЕ покрыто With ws Сортировать Столбец(ws, iCol), 1, _ xlAscending, xlYes End With End Function Public Function Столбец(ws As Worksheet, ByVal iCol As Long) _ As Range ' Тестом НЕ покрыто With ws Set Столбец = Application.Intersect( _ .UsedRange, .Columns(iCol)) End With End Function
[/vba]
на соседние столбцы сортировка не должна распространяться
Тогда замените [vba]Код
Public Function Столбец_Сортировать(ws As Worksheet, ByVal iCol As Long) ' Тестом НЕ покрыто With ws Сортировать .UsedRange, iCol, _ xlAscending, xlYes End With End Function
[/vba] на [vba]Код
Public Function Столбец_Сортировать(ws As Worksheet, ByVal iCol As Long) ' Тестом НЕ покрыто With ws Сортировать Столбец(ws, iCol), 1, _ xlAscending, xlYes End With End Function Public Function Столбец(ws As Worksheet, ByVal iCol As Long) _ As Range ' Тестом НЕ покрыто With ws Set Столбец = Application.Intersect( _ .UsedRange, .Columns(iCol)) End With End Function
[/vba]InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение на соседние столбцы сортировка не должна распространяться
Тогда замените [vba]Код
Public Function Столбец_Сортировать(ws As Worksheet, ByVal iCol As Long) ' Тестом НЕ покрыто With ws Сортировать .UsedRange, iCol, _ xlAscending, xlYes End With End Function
[/vba] на [vba]Код
Public Function Столбец_Сортировать(ws As Worksheet, ByVal iCol As Long) ' Тестом НЕ покрыто With ws Сортировать Столбец(ws, iCol), 1, _ xlAscending, xlYes End With End Function Public Function Столбец(ws As Worksheet, ByVal iCol As Long) _ As Range ' Тестом НЕ покрыто With ws Set Столбец = Application.Intersect( _ .UsedRange, .Columns(iCol)) End With End Function
[/vba]Автор - InExSu Дата добавления - 21.04.2019 в 09:46
Сергей13
Дата: Воскресенье, 21.04.2019, 12:50 |
Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
InExSu , Здравствуйте. Мной упущен еще такой нюанс … Данная фильтрация должна запускаться с другого листа, в тестовом примере пытался обозначить данную необходимость глобальными переменными... В данном-же случае в предлагаемом коде пробовал прилепить к переменной r лист [vba]Код
With Sheets("group").r
[/vba] Не проходит, выдает ошибку.
InExSu , Здравствуйте. Мной упущен еще такой нюанс … Данная фильтрация должна запускаться с другого листа, в тестовом примере пытался обозначить данную необходимость глобальными переменными... В данном-же случае в предлагаемом коде пробовал прилепить к переменной r лист [vba]Код
With Sheets("group").r
[/vba] Не проходит, выдает ошибку.Сергей13
Ответить
Сообщение InExSu , Здравствуйте. Мной упущен еще такой нюанс … Данная фильтрация должна запускаться с другого листа, в тестовом примере пытался обозначить данную необходимость глобальными переменными... В данном-же случае в предлагаемом коде пробовал прилепить к переменной r лист [vba]Код
With Sheets("group").r
[/vba] Не проходит, выдает ошибку.Автор - Сергей13 Дата добавления - 21.04.2019 в 12:50
InExSu
Дата: Воскресенье, 21.04.2019, 13:38 |
Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
Сначала было про сортировку. Пример вызова Столбец_Сортировать: [vba]Код
Public Function REName_() Dim Лист As Worksheet Dim Столбец As Long Set Лист = Sheets("group") Столбец = 1 Столбец_Сортировать Лист, Столбец End Function
[/vba]
Сначала было про сортировку. Пример вызова Столбец_Сортировать: [vba]Код
Public Function REName_() Dim Лист As Worksheet Dim Столбец As Long Set Лист = Sheets("group") Столбец = 1 Столбец_Сортировать Лист, Столбец End Function
[/vba]InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение Сначала было про сортировку. Пример вызова Столбец_Сортировать: [vba]Код
Public Function REName_() Dim Лист As Worksheet Dim Столбец As Long Set Лист = Sheets("group") Столбец = 1 Столбец_Сортировать Лист, Столбец End Function
[/vba]Автор - InExSu Дата добавления - 21.04.2019 в 13:38
Сергей13
Дата: Воскресенье, 21.04.2019, 13:41 |
Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
InExSu , Извиняюсь заплутал... Протестирую.
InExSu , Извиняюсь заплутал... Протестирую.Сергей13
Ответить
Сообщение InExSu , Извиняюсь заплутал... Протестирую.Автор - Сергей13 Дата добавления - 21.04.2019 в 13:41
InExSu
Дата: Воскресенье, 21.04.2019, 13:48 |
Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
пробовал прилепить к переменной r лист
в VBA к объекту не прилепляют, а просят предоставить (из того, что в объекте есть). Например, [vba]Код
Public Function REName_() Dim ws As Worksheet 'прошу предоставить объект лист Set ws = Sheets("group") Dim ячейка As Range 'прошу предоставить объект ячейку Set ячейка = ws.Cells(1, 2) ' использую свойства объекта по имени ячейка.Interior.Color = vbRed End Function
[/vba]
пробовал прилепить к переменной r лист
в VBA к объекту не прилепляют, а просят предоставить (из того, что в объекте есть). Например, [vba]Код
Public Function REName_() Dim ws As Worksheet 'прошу предоставить объект лист Set ws = Sheets("group") Dim ячейка As Range 'прошу предоставить объект ячейку Set ячейка = ws.Cells(1, 2) ' использую свойства объекта по имени ячейка.Interior.Color = vbRed End Function
[/vba]InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение пробовал прилепить к переменной r лист
в VBA к объекту не прилепляют, а просят предоставить (из того, что в объекте есть). Например, [vba]Код
Public Function REName_() Dim ws As Worksheet 'прошу предоставить объект лист Set ws = Sheets("group") Dim ячейка As Range 'прошу предоставить объект ячейку Set ячейка = ws.Cells(1, 2) ' использую свойства объекта по имени ячейка.Interior.Color = vbRed End Function
[/vba]Автор - InExSu Дата добавления - 21.04.2019 в 13:48
Сергей13
Дата: Воскресенье, 21.04.2019, 14:37 |
Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
InExSu , Лепить это образно, леплю на данный момент я... ) Не знаю что делаю не правильно, а по сути я ничего не делаю, а просто тупо вставляю предлагаемое, но при тестировании выдает ошибку на строку [vba]Код
.Sort key1:=.Cells(1, iCol), order1:=ord, Header:=iHead
[/vba]
InExSu , Лепить это образно, леплю на данный момент я... ) Не знаю что делаю не правильно, а по сути я ничего не делаю, а просто тупо вставляю предлагаемое, но при тестировании выдает ошибку на строку [vba]Код
.Sort key1:=.Cells(1, iCol), order1:=ord, Header:=iHead
[/vba]Сергей13
Ответить
Сообщение InExSu , Лепить это образно, леплю на данный момент я... ) Не знаю что делаю не правильно, а по сути я ничего не делаю, а просто тупо вставляю предлагаемое, но при тестировании выдает ошибку на строку [vba]Код
.Sort key1:=.Cells(1, iCol), order1:=ord, Header:=iHead
[/vba]Автор - Сергей13 Дата добавления - 21.04.2019 в 14:37
InExSu
Дата: Воскресенье, 21.04.2019, 14:47 |
Сообщение № 11
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
В UserForm1 замените строку [vba]Код
Столбец_Сортировать ActiveSheet, Me.TextBox1
[/vba] на [vba]Код
Столбец_Сортировать Worksheets("group"), Me.TextBox1
[/vba]
В UserForm1 замените строку [vba]Код
Столбец_Сортировать ActiveSheet, Me.TextBox1
[/vba] на [vba]Код
Столбец_Сортировать Worksheets("group"), Me.TextBox1
[/vba]InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение В UserForm1 замените строку [vba]Код
Столбец_Сортировать ActiveSheet, Me.TextBox1
[/vba] на [vba]Код
Столбец_Сортировать Worksheets("group"), Me.TextBox1
[/vba]Автор - InExSu Дата добавления - 21.04.2019 в 14:47
Сергей13
Дата: Воскресенье, 21.04.2019, 15:39 |
Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
InExSu , В тестовом варианте работает, а в рабочем как-то не идет. В событии клика кнопки установлены иные коды и условия и после вставки строкиСтолбец_Сортировать Worksheets("group"), Me.TextBox1 (в таком варианте) начались сбои и ошибки по иным кодам. Думаю что оставлю пока как было изначально, а там возможно найду иной путь решение проблемы… Спасибо что уделили внимание.RAN , Спасибо, учту.
InExSu , В тестовом варианте работает, а в рабочем как-то не идет. В событии клика кнопки установлены иные коды и условия и после вставки строкиСтолбец_Сортировать Worksheets("group"), Me.TextBox1 (в таком варианте) начались сбои и ошибки по иным кодам. Думаю что оставлю пока как было изначально, а там возможно найду иной путь решение проблемы… Спасибо что уделили внимание.RAN , Спасибо, учту.Сергей13
Сообщение отредактировал Сергей13 - Воскресенье, 21.04.2019, 22:39
Ответить
Сообщение InExSu , В тестовом варианте работает, а в рабочем как-то не идет. В событии клика кнопки установлены иные коды и условия и после вставки строкиСтолбец_Сортировать Worksheets("group"), Me.TextBox1 (в таком варианте) начались сбои и ошибки по иным кодам. Думаю что оставлю пока как было изначально, а там возможно найду иной путь решение проблемы… Спасибо что уделили внимание.RAN , Спасибо, учту.Автор - Сергей13 Дата добавления - 21.04.2019 в 15:39