|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.03.2012, 20:05 | #1 |
Пользователь
Регистрация: 26.03.2012
Сообщений: 42
|
Сортировка столбцов с данными по значению в верхней ячейке
В общем есть таблица в которой каждый столбец начинается с числа а затем заполнен смешанной информацией. Нужно выстроить столбцы в порядке убывания этих "верхних чисел". Как сортировать числа пузырьковым методом я разобрался. Результат на прикрепленном снимке, код:
Sub sort() Dim a(5) As Single, a1 As Single, i As Integer, j As Integer For i = 1 To 5 a(i) = Worksheets(1).Cells(1, i).Value Next i For i = 1 To 4 For j = 1 To 4 If a(j) < a(j + 1) Then a1 = a(j) a(j) = a(j + 1) a(j + 1) = a1 End If Next j Next i For i = 1 To 5 ThisWorkbook.Sheets(1).Cells(1, i + 6).Value = a(i) Next i End Sub А вот как отсортировать по ним нижерасположенные данные пока не вкурил. Есть идея двигать каждый раз вместе с первым числом столбец снизу, но код у меня не выходит: Sub sa() Dim a(5) As Single, i As Integer, k As Integer, a1 As Single, b(9), b1(9) For i = 1 To 5 a(i) = Worksheets(1).Cells(1, i).Value b(i) = Worksheets(1).Range("A2:A10").Value Next i For i = 1 To 4 For j = 1 To 4 If a(j) < a(j + 1) Then a1 = a(j) a(j) = a(j + 1) a(j + 1) = a1 b1 = b(j) b(j) = b(j + 1) b(j + 1) = b1 End If Next j Next i For i = 1 To 5 ThisWorkbook.Sheets(1).Cells(1, i + 6).Value = a(i) ThisWorkbook.Sheets(1).Cells("2, i + 6:10,i+6").Value = b(i) Next i End Sub Подскажите как добиться результата. Заранее благодарен |
27.03.2012, 20:23 | #2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Зачем изобретать велосипед? В диалоге сортировки выберите Параметры - сортировать: столбцы диапазона, сортировать по: Строка 1, по убыванию.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
27.03.2012, 20:54 | #3 |
Пользователь
Регистрация: 26.03.2012
Сообщений: 42
|
Затем что мне нужно чтобы это производилось автоматически. Я пишу небольшую програмку, в которой результаты должны сортироваться таким образом. Я бы рад делать это через Параметры-...., но увы.
Хотя можно ведь записать все в макрос. Только щас догадался, спасибо за идею Последний раз редактировалось ymnuhj; 27.03.2012 в 21:08. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка по наибольшему значению | Irek11 | Microsoft Office Excel | 4 | 14.08.2011 17:58 |
Как присвоить ячейке с данными число? | Pecnekm | Microsoft Office Excel | 44 | 06.04.2011 16:03 |
Сортировка grida по значению поля | amator_roma | Помощь студентам | 2 | 30.11.2010 16:41 |
По значению из выпадающего списка в рядом стоящей ячейке выводить текст | 550953 | Microsoft Office Excel | 6 | 09.09.2009 06:59 |
Возвращаемое функцией значение = находившемуся в ячейке значению | motorway | Microsoft Office Excel | 8 | 14.07.2009 08:53 |