|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.08.2011, 10:12 | #1 |
Регистрация: 09.08.2011
Сообщений: 7
|
Макрос для сортировки
Добрый день всем.
Уважаемые программисты, прошу помощи. Каждый месяц от оператора связи приходит детализация телефонных звонков. Мне нужно все номера переименовать в направления. Сотовые телефоны будут разделены на два типа - "Санкт-Петербург (моб.)" и "Россия (моб.)", оставшиеся (не сотовые) телефоны будут разделены на города и страны (Санкт-Петербург, Москва, Урюпинск, США, Тайвань и т.д.). Я понял как мне выявить и переименовать города и страны - ячейка проверяется на наличие того или иного кода с помощью цикла и присваивает нужное значение. Вот код Код:
Код:
Помогите, пожалуйста. |
10.08.2011, 10:44 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Тут немного другой алгоритм надо применять - тогда код будет быстрее и проще.
Выкладывайте свой файл (исходные данные + список соответствия диапазонов городам) - посмотрим, что можно сделать. Надо использовать Select Case - приблизительно так: Код:
Код:
|
10.08.2011, 10:52 | #3 |
Форумчанин
Регистрация: 05.07.2011
Сообщений: 208
|
If cell.Value Like "892109*" Then ?
|
10.08.2011, 11:08 | #4 | |
Регистрация: 09.08.2011
Сообщений: 7
|
Цитата:
Файлик приложил - там маленький кусочек данных и малая часть соответствий (их еще целиком не делал) По второму предложению понял. Чет я туплю, действительно же можно так |
|
10.08.2011, 11:09 | #5 |
Регистрация: 09.08.2011
Сообщений: 7
|
|
10.08.2011, 13:42 | #6 |
Регистрация: 09.08.2011
Сообщений: 7
|
|
17.08.2011, 10:48 | #7 |
Регистрация: 09.08.2011
Сообщений: 7
|
Всем еще раз доброго дня.
Накатал я макрос, и он даже работает Беда только в том, что ручной работы с ним почти столько же, как при ручной сортировке... Уже сейчас там 196 вот таких циклов Код:
Итак идея: два экселевских файла - один со статистикой, другой с табличкой "код-легенда". Макрос берет из файла2 код, проверяет в заданном столбце файла1 все ячейки на наличие этого кода и, там где они есть, заменяет значение текущей ячейки в файле1 на соответствующее значение легенды из файла2. К сожалению сам я такое написать не смогу |
17.08.2011, 11:58 | #8 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
формула не подойдет?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
17.08.2011, 12:29 | #9 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
pupszu
Циклы на самом деле не нужны. Достаточно
Код:
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
17.08.2011, 13:01 | #10 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Примерно так. Файл "code-legend.xlsx" должен находиться в папке с открытым файлом:
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создать макрос сортировки строк | ToshaVeric | Microsoft Office Excel | 2 | 26.07.2011 22:08 |
шаблон функции для сортировки массива. | tub0rg | Помощь студентам | 5 | 23.01.2011 09:39 |
Блок-схема для метода пузырьковой сортировки | Александра1000000 | Помощь студентам | 1 | 27.05.2010 19:15 |
Макрос умирает после сортировки | Skandalius | Microsoft Office Excel | 17 | 10.09.2009 16:35 |
Макрос сортировки строк по листам | noname_06 | Microsoft Office Excel | 8 | 24.01.2009 20:30 |