сортировка
Модератор: Naeel Maqsudov
Помогите, пожалуйса, а то я уже схожу с ума и не могу доделать работу. Не могу прекрепить файл ексель.
1 31 0,096774194
2 42 0,103942652
3 53 0,051971326
4 64 0,055555556
5 75 0,127240143
6 86 0,003584229
7 97 0,137992832
8 108 0,139784946
9 119 0,127240143
10 1210 0,008960573
11 1311 0,146953405
Но количество данных может меняться. Третий столбец это доли продаж. Суть пробемы в том, что список товара нужно отсортировать по убыванию доли продаж.
1 31 0,096774194
2 42 0,103942652
3 53 0,051971326
4 64 0,055555556
5 75 0,127240143
6 86 0,003584229
7 97 0,137992832
8 108 0,139784946
9 119 0,127240143
10 1210 0,008960573
11 1311 0,146953405
Но количество данных может меняться. Третий столбец это доли продаж. Суть пробемы в том, что список товара нужно отсортировать по убыванию доли продаж.
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
А первый и второй столбец?Третий столбец это доли продаж.
И вообще, без файла конечно плохо, тут ведь и форматы чисел могут тоже влиять, не совсем понятна проблема...
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
Не обращайте внимание на числа. пусть они могут быть любыми. и количество их тоже может быть разное. нужно относительно третьего столбца, который сортируется по убыванию, отсортировать остальные. мы сортируем третий столбец и вс столбцы сортируются, относительно него
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Все-таки я наверное чего -то не понимаю.
Сортировка осуществляется стандартными средствами Excel.
Выделяем наши данные - ВСЕ!
Затем - Данные - Сортировка
Сортировать по С, затем В, затем А
Выставляем - по убыванию.
***
11 195 0,146953405
8 144 0,139784946
7 127 0,137992832
9 161 0,127240143
5 93 0,127240143
2 42 0,103942652
1 31 0,096774194
4 76 0,055555556
3 59 0,051971326
10 178 0,008960573
6 110 0,003584229
вот результаты сортировки
Сортировка осуществляется стандартными средствами Excel.
Выделяем наши данные - ВСЕ!
Затем - Данные - Сортировка
Сортировать по С, затем В, затем А
Выставляем - по убыванию.
***
11 195 0,146953405
8 144 0,139784946
7 127 0,137992832
9 161 0,127240143
5 93 0,127240143
2 42 0,103942652
1 31 0,096774194
4 76 0,055555556
3 59 0,051971326
10 178 0,008960573
6 110 0,003584229
вот результаты сортировки
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
это понятно, но мне нужно создать кнопку и в ней прописать сортировку с помощью vba
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
это понятно, но мне нужно создать кнопку и в ней прописать сортировку с помощью vba

А в первом посте, там где ставилась задача, есть хоть слово о VBA?
Каков вопрос - таков ответ.
Для начала попробуйте записать макрос макрорекордером, увидите много интересного
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
Извиняюсь за неточности
Запись макрорекодера знаю, но условие обстоит немного в другом. Если б мне можно было пользоваться макрорекодером, то я бы уже написала код и не любила себе мозг! Если пример сортировки
for j=1 to 10
for i=1 to 10
with worksheets("Лист1")
if worksheets("Лист1").Cells(j,1).value>worksheets("Лист1").Cells(i,1).Value then
temp=worksheets("Лист1").Cells(j,1).Value
Cells(j,1).Value=Cells(i,1).Value
Cells(i,1).Value=temp
End if
next i
next j
в таком виде нужно написать и эту

for j=1 to 10
for i=1 to 10
with worksheets("Лист1")
if worksheets("Лист1").Cells(j,1).value>worksheets("Лист1").Cells(i,1).Value then
temp=worksheets("Лист1").Cells(j,1).Value
Cells(j,1).Value=Cells(i,1).Value
Cells(i,1).Value=temp
End if
next i
next j
в таком виде нужно написать и эту
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Диапазон данных начинаеися в ячейке А1
код:
код:
Код: Выделить всё
Sub Макрос1()
Range("A1").CurrentRegion.Sort Key1:=Range("C1"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
Понимаю-понимаю! Но я не могу ничего с этим поделать...