Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2012, 15:20   #1
mmet
 
Регистрация: 01.09.2010
Сообщений: 9
Вопрос Сортировка списка значений по другому списку

Прошу помощи в решении, вероятно, несложной задачи для понимающих

Есть список файлов типа:
3471.jpg
3472.jpg
3473.jpg
3474.jpg
3475.jpg
3476.jpg
3477.jpg
3478.jpg
3479а.jpg
3493.jpg

Также есть список выборочных позиций из первого (заглавные изображения), например:
3471.jpg
3475.jpg
3476.jpg
3493.jpg

Как сделать, чтобы в итоге из первого списка получить список, где в первом столбце только значения из второго списка, а в последующих столбцах остальные названия, т.е.:
3471.jpg 3472.jpg 3473.jpg 3474.jpg
3475.jpg
3476.jpg 3477.jpg 3478.jpg 3479а.jpg
3493.jpg

Т.е. берём первое значение из главного списка, дальше все остальные значения пихаем в следующие столбцы в данной строке, пока не встретим совпадения значения из главного списка со списком заглавных изображений. Тогда переносим его на следующую строку и продолжаем дальше.
mmet вне форума Ответить с цитированием
Старый 06.09.2012, 15:34   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

исходные данные сортированы или нет? Что должно получиться при таких исходных данных:

3475.jpg
3476.jpg
3471.jpg
3472.jpg
3473.jpg
3493.jpg
3474.jpg
3477.jpg
3478.jpg
3479а.jpg

??
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 06.09.2012, 17:28   #3
mmet
 
Регистрация: 01.09.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
исходные данные сортированы или нет? Что должно получиться при таких исходных данных:

3475.jpg
3476.jpg
3471.jpg
3472.jpg
3473.jpg
3493.jpg
3474.jpg
3477.jpg
3478.jpg
3479а.jpg

??
всё сортировано изначально, второй список получается удалением лишних позиций из первого, поэтому нарушения порядка следования нет
первые позиции двух списков всегда одинаковые
mmet вне форума Ответить с цитированием
Старый 06.09.2012, 21:38   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Словари рулят! (без массивов )
Код:
Sub tt()
    Dim cc As Range, x&, y&

    With CreateObject("scripting.dictionary")
        For Each cc In [a13:a16].Cells
            .Item(cc.Value) = 0&
        Next

        x = 12: y = 1
        For Each cc In [a1:a10].Cells
            If .exists(cc.Value) Then
                x = x + 1: y = 1
            Else
                y = y + 1
                Cells(x, y) = cc.Value
            End If
        Next

    End With
End Sub
Вложения
Тип файла: rar mmet.rar (13.1 Кб, 19 просмотров)
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 06.09.2012 в 21:40.
Hugo121 вне форума Ответить с цитированием
Старый 07.09.2012, 08:27   #5
mmet
 
Регистрация: 01.09.2010
Сообщений: 9
По умолчанию

спасибо!
то что нужно, пошел вникать в код
mmet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт значений из внешних книг Excel по списку файлов Varen1k Microsoft Office Excel 14 14.08.2018 10:09
Выбор значений поля списка Alergen2 Microsoft Office Access 9 21.10.2011 06:48
Сортировка списка при добавление новых значений dzv Microsoft Office Excel 13 28.01.2010 12:46
вставка значений из списка timtim Microsoft Office Excel 2 23.07.2009 16:17
Случайный выбор значений из списка Stoodentka Microsoft Office Excel 4 14.07.2009 07:56