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

Вход

Регистрация

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

 

= Мир MS Excel/Сортировка двумерного массива - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сортировка двумерного массива (Макросы/Sub)
Сортировка двумерного массива
Evgen2350 Дата: Четверг, 20.03.2014, 20:18 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Друзья, подскажите, пожалуйста путь решения для сортировки массива по убыванию, состоящего из n-столбцов и n-строк, причем первый столбец - название строки. Выглядит примерно так:

192.168.1.12 1 0 3 3
192.168.1.15 1 0 0 0
192.168.1.19 0 5 0 1
192.168.1.22 3 2 3 3

Хотелось бы чтоб получилось:

192.168.1.22 3 2 3 3
192.168.1.12 1 0 3 3
192.168.1.19 0 5 0 1
192.168.1.15 1 0 0 0
К сообщению приложен файл: Sort.xls (36.5 Kb)


Сообщение отредактировал Evgen2350 - Четверг, 20.03.2014, 21:07
 
Ответить
СообщениеДрузья, подскажите, пожалуйста путь решения для сортировки массива по убыванию, состоящего из n-столбцов и n-строк, причем первый столбец - название строки. Выглядит примерно так:

192.168.1.12 1 0 3 3
192.168.1.15 1 0 0 0
192.168.1.19 0 5 0 1
192.168.1.22 3 2 3 3

Хотелось бы чтоб получилось:

192.168.1.22 3 2 3 3
192.168.1.12 1 0 3 3
192.168.1.19 0 5 0 1
192.168.1.15 1 0 0 0

Автор - Evgen2350
Дата добавления - 20.03.2014 в 20:18
KuklP Дата: Четверг, 20.03.2014, 20:38 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Во-первых выкладывайте пример согласно правил. Во-вторых, что-то непонятно, где там сортировка.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеВо-первых выкладывайте пример согласно правил. Во-вторых, что-то непонятно, где там сортировка.

Автор - KuklP
Дата добавления - 20.03.2014 в 20:38
Evgen2350 Дата: Четверг, 20.03.2014, 21:03 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Прошу прощения...пример закинул. Суть сортировки в том, чтоб составить статистику посещений пользователями базы на сервере в удобном виде. На первых местах те, кто каждый день заходил, ниже по убыванию.
 
Ответить
СообщениеПрошу прощения...пример закинул. Суть сортировки в том, чтоб составить статистику посещений пользователями базы на сервере в удобном виде. На первых местах те, кто каждый день заходил, ниже по убыванию.

Автор - Evgen2350
Дата добавления - 20.03.2014 в 21:03
Pelena Дата: Четверг, 20.03.2014, 21:14 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Сделайте доп. столбец с формулой
Код
=СЧЁТЕСЛИ(B1:E1;">0")
и по нему сортируйте


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеСделайте доп. столбец с формулой
Код
=СЧЁТЕСЛИ(B1:E1;">0")
и по нему сортируйте

Автор - Pelena
Дата добавления - 20.03.2014 в 21:14
RAN Дата: Четверг, 20.03.2014, 21:37 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А чем настраиваемая сортировка не подходит?
Самое оно.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА чем настраиваемая сортировка не подходит?
Самое оно.

Автор - RAN
Дата добавления - 20.03.2014 в 21:37
Evgen2350 Дата: Четверг, 20.03.2014, 21:45 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо, буду пробовать
 
Ответить
СообщениеСпасибо, буду пробовать

Автор - Evgen2350
Дата добавления - 20.03.2014 в 21:45
Hugo Дата: Четверг, 20.03.2014, 23:16 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Похоже что не совсем по задаче, зато по названию темы: Сортировка двумерного массива (Макросы/Sub)
Сортировка не моя, я только развил для двумерного:
[vba]
Код
Sub fg()
       Dim a(), i&

       i = InputBox("По какому столбцу сортировать?")
       a = [a1].CurrentRegion.Value
       uSort a, i
       [a1].CurrentRegion.Value = a
End Sub

Sub uSort(ByRef x(), n&)
       Dim v, u&, d&, f&, st&
       If IsArray(x) Then
           f = LBound(x): d = f
           For u = f + 1 To UBound(x)
               If x(u, n) < x(d, n) Then
                   For st = LBound(x, 2) To UBound(x, 2)
                       v = x(d, st): x(d, st) = x(u, st): x(u, st) = v
                   Next
                   u = d - 1: d = u - 1: If u < f Then d = u: u = f
               End If
               d = d + 1
           Next
       End If
End Sub
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеПохоже что не совсем по задаче, зато по названию темы: Сортировка двумерного массива (Макросы/Sub)
Сортировка не моя, я только развил для двумерного:
[vba]
Код
Sub fg()
       Dim a(), i&

       i = InputBox("По какому столбцу сортировать?")
       a = [a1].CurrentRegion.Value
       uSort a, i
       [a1].CurrentRegion.Value = a
End Sub

Sub uSort(ByRef x(), n&)
       Dim v, u&, d&, f&, st&
       If IsArray(x) Then
           f = LBound(x): d = f
           For u = f + 1 To UBound(x)
               If x(u, n) < x(d, n) Then
                   For st = LBound(x, 2) To UBound(x, 2)
                       v = x(d, st): x(d, st) = x(u, st): x(u, st) = v
                   Next
                   u = d - 1: d = u - 1: If u < f Then d = u: u = f
               End If
               d = d + 1
           Next
       End If
End Sub
[/vba]

Автор - Hugo
Дата добавления - 20.03.2014 в 23:16
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сортировка двумерного массива (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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