Здравствуйте, уважаемые участники. Не нашел ничего поиском, может быть не так задавал вопрос. Суть проблемы следующая - есть база клиентов компании с номерами мобильных тел контрагентов. Требуется отсортировать мобильные номера на принадлежность к региону согласно списка Россвязи https://www.rossvyaz.ru/activity/num_resurs/registerNum/. Номера идут одним столбцом Простая сортировка, понятно, не поможет в данном случае. С макросами не дружу. Подскажите алгоритм решения такой проблемы. Спасибо
Здравствуйте, уважаемые участники. Не нашел ничего поиском, может быть не так задавал вопрос. Суть проблемы следующая - есть база клиентов компании с номерами мобильных тел контрагентов. Требуется отсортировать мобильные номера на принадлежность к региону согласно списка Россвязи https://www.rossvyaz.ru/activity/num_resurs/registerNum/. Номера идут одним столбцом Простая сортировка, понятно, не поможет в данном случае. С макросами не дружу. Подскажите алгоритм решения такой проблемы. Спасибоbratello
Сообщение отредактировал bratello - Вторник, 13.12.2016, 15:14
dim34rus, Вот пример. Справа часть таблицы с сайта Россвязи (прошу прощения, постом выше ошибся - не Росреестр, а Россвязь).
Получается слева единый список всех номеров, а справа диапазон, к примеру, для Москвы и МО - 917 5000000 5999999 1000000шт Мобильные ТелеСистемы Москва и Московская область. И больше в коде 917 московских номеров нет, остальные по регионам все.
Диапазонов номеров всего ~4500. Как это сортировать?
dim34rus, Вот пример. Справа часть таблицы с сайта Россвязи (прошу прощения, постом выше ошибся - не Росреестр, а Россвязь).
Получается слева единый список всех номеров, а справа диапазон, к примеру, для Москвы и МО - 917 5000000 5999999 1000000шт Мобильные ТелеСистемы Москва и Московская область. И больше в коде 917 московских номеров нет, остальные по регионам все.
Диапазонов номеров всего ~4500. Как это сортировать?bratello
Я вот тут наткнулся на решение похожей проблемы. С той разницей, что автор темы в астериске это делал https://habrahabr.ru/post/144563/ Но в екселе как-то, видимо, по другому это делается...
Я вот тут наткнулся на решение похожей проблемы. С той разницей, что автор темы в астериске это делал https://habrahabr.ru/post/144563/ Но в екселе как-то, видимо, по другому это делается...bratello
Проблема макроса в том, что он всегда будет хотеть таблицу регионов именно в таком виде (количество строк не важно) Время обработки макросом 14 тыс номеров ~8-10 сек
макрос. [vba]
Код
Sub СОРТИРОВКА_НОМЕРОВ() i = 1 While ActiveSheet.Cells(i, 1).Value <> "" k = 1 While (Not ((ActiveSheet.Cells(i, 1).Value >= 70000000000# + ActiveSheet.Cells(k, 3).Value * 10000000 + ActiveSheet.Cells(k, 4).Value) And (ActiveSheet.Cells(i, 1).Value <= 70000000000# + ActiveSheet.Cells(k, 3).Value * 10000000 + ActiveSheet.Cells(k, 5).Value)) And ActiveSheet.Cells(k, 3).Value <> "") k = k + 1 Wend ActiveSheet.Cells(i, 2).Value = ActiveSheet.Cells(k, 8).Value i = i + 1 Wend
Проблема макроса в том, что он всегда будет хотеть таблицу регионов именно в таком виде (количество строк не важно) Время обработки макросом 14 тыс номеров ~8-10 секdim34rus