Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Создание таблицы из попарно уникальных данных
 
Добрый день! вопрос я уже задавала и ответ получила. Но осталось несколько вопросов, которые со старого форума почему-то удалились(
Напомню, задача была:составить таблицу 2хN, состоящие из уникальных значений этих столбцов.
Предложенный макрос от Hugo:
Option Explicit

Sub StraniKodi() ' словарь в словаре
Dim a, cArr, i&, t$, Dic As Object
Dim el, lr&

a = Range("B3", Cells(Rows.Count, "A"  ;)  .End(xlUp)).Value
Set Dic = CreateObject("Scripting.Dictionary"  ;)  
With Dic
.CompareMode = 1
For i = 1 To UBound(a)
t = a(i, 2)
If Not .exists(t) Then .Add t, CreateObject("Scripting.Dictionary"  ;)  
.Item(t).Item(Format(a(i, 1), "00000"  ;)  ) = 0&
Next
End With

cArr = Dic.keys: SortArray cArr

lr = 3
For Each el In cArr
Cells(lr, 17) = el: lr = lr + 1
a = Dic.Item(el).keys: SortArray a
With Cells(lr, 16).Resize(UBound(a) + 1, 1)
.NumberFormat = "00000"
.Value = Application.Transpose(a)
End With
lr = lr + UBound(a) + 1
Next

End Sub


Private Sub SortArray(ByRef a As Variant)
Dim i As Long, j As Long
Dim t As Variant

'standard bubble sort loops
For i = LBound(a) To UBound(a) - 1
For j = i + 1 To UBound(a)
If a(i) > a(j) Then 'change to < for descending order
t = a(i)
a(i) = a(j)
a(j) = t
End If
Next j
Next i
End Sub

Вопрос был: Как изменить код, если список стран находится в столбце N, а коды в M, где N и M могут быть не подряд идущими?

Ответ:
Исходные данные берутся в массив тут:
a = Range("B3", Cells(Rows.Count, "A"  ;)  .End(xlUp)).Value
Т.е. от B3 до последней снизу в столбце A.
Соответственно меняйте буквы.
Но в таком варианте не должно быть лишних данных ниже кодов.

Но данный способ как раз не работает в случае, если данные находятся не в ближайших столбцах. Как это можно исправить.

В файлике есть ещё один вопросик, но буду рада ответу и на этот =)
Создание таблицы из попарно уникальных данных
 
Hugo, спасибо большое! Как же всё таки VBA упрощает жизнь, но пока нет времени для изучения(  
Ещё 1 вопросик:  
Не совсем поняла, как изменить код, если список стран находится в столбце N, а коды в M
Создание таблицы из попарно уникальных данных
 
{quote}{login=Hugo}{date=18.12.2012 12:26}{thema=}{post}"Использовать необходимо формулы, так как на работе excel 2003" - не вижу логической связи :)  
Но вижу, как это можно сделать макросом - на словаре (или коллекции) в словаре.  
Ну раз "необходимо формулы" - я пас...{/post}{/quote}  
Если можете предложить макрос, то буду рада. Просто я пока не научилась с ними работать - будет повод научиться))  
Просто пока пользуюсь только формулами, так как считаю это универсальным способом
Создание таблицы из попарно уникальных данных
 
Добрый день!  
Пыталась найти подобную тему, но не нашла.  
Есть данные в двух стобцах  
Задача: составить таблицу 2хN, состоящие из уникальных значений этих столбцов.  
Пример в файле, без него объяснить постановку вопроса не могу.  
Использовать необходимо формулы, так как на работе excel 2003
Страницы: 1
Наверх