![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 12.12.2010
Сообщений: 21
|
![]()
нифига не работает)
PHP код:
p.s. в a и b задал диапазоны, c и bb = дубляжи диапазонов? |
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Без файла конечно только гадаю, но что точно наверняка не работает, это вот :
![]() Код:
Весь этот блок Вам не нужен. А может нужен, но другой - откуда мне знать? ![]() По пустым - лучше пустые при занесении в словарь откидывать - иначе потом к каждой пустой будут тянуться данные из запомненной в словаре последней пустой - а там ведь в других столбцах/массивах может быть что-то записано. А может так и нужно, как знать... А сравнение происходит так - просмотрели диапазон, запомнили все присутствующие значения (и их позиции заодно), затем просматриваем второй диапазон и сразу раскладываем данные по парам. c и bb - не дубляжи, а такие же по размеру массивы из других столбцов. В принципе, можно без них обойтись, сделав изначальные массивы шире, и работать только с ними, но зачем тягать столько лишних данных?
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 12.12.2010
Сообщений: 21
|
![]()
согласен, без файла конструктива будет мало...
на листе сводный список фамилий с группировкой по шифрами абонентских отделов (8801, 5504 и т.п.). разделяют группировки отделов 2 пустых строки. что пытаюсь сделать - из листа "кредхистори" столбца M и листа "реестр" столбца AO сравнить значения с листом "сводный" столбец А, если встретились кого там нет - добавить строку внизу учитывая шифр абонентских отделов... сразу пример - 8801ПавловскийМС отсутствует в столбце А листа "сводный", поэтому его надо внести туда по адресу А14, сохранив 2 строки разницы между отделов. весь перечень отделов есть в столбце сводный, разница отделов - в написании 4 первых цифр. |
![]() |
![]() |
![]() |
#14 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Узкое место - "внести туда по адресу А14, сохранив 2 строки".
Сделать можно, но так много кода нужно написать... Может быть можно заранее под каждым отделом заготовить две строки вида 8801яяяяяяяяяяяяяяяяяяяяя и потом просто добавлять новые данные ниже без разбора, затем отсортировать? Только нужно ещё предусмотреть, чтоб отделы правильно сортировались, а не так, как сейчас. Тогда алгоритм может быть такой - сводный в словарь, создаём массив размером с сумму размеров "кредхистори" и "реестр", каждый из них сверяем с словарём, если нет в словаре - копируем в созданный массив, его в конце выгружаем под "сводный", сортируем. Если без сортировки - тогда даже не знаю, как реализовать... Кучу словарей и массивов что-ли делать.... Ну или можно использовать Код:
Хотя опять же чтоб соблюдать порядок не по алфавиту, а как нужно - нужно перед названием отдела добавить индекс для сортировки по алфавиту ![]()
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 16.06.2012 в 13:23. |
![]() |
![]() |
![]() |
#15 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
![]()
вариант (активный лист "Сводный")
Код:
|
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 12.12.2010
Сообщений: 21
|
![]()
а может быть сразу соединить 2 range в 1, отсортировать и выгрузить в "сводный"? т.е. каждый раз будет заново строиться!
|
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
![]()
С массивами, похоже, переборщил
![]() Код:
|
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 12.12.2010
Сообщений: 21
|
![]()
2 nilem
супер! работает! пасиб большое! p.s. при формировании последнего отдела почему-то шпарит через 2 строчки некоторые фамилии... можно конечно сделать макрос чтобы проверял значения между пустотами и если отделы совпадают то удалял их, но может быть можно чтобы сразу были без пустот...? а так офигенно! просто адский труд! |
![]() |
![]() |
![]() |
#19 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
![]()
Покажите примерчик в файле, где появляются 2 ненужные строчки
|
![]() |
![]() |
![]() |
#20 |
Пользователь
Регистрация: 12.12.2010
Сообщений: 21
|
![]()
блин мне кажется я понял в чём... косяк в том что 1 отдел состоит из 3 цифр...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как правильно перевести книгу с макросом из 2007 в 2003 Excel? | Алекс7 | Microsoft Office Excel | 5 | 15.10.2011 09:21 |
открыть скриптом файл Excel | alvazor | Microsoft Office Excel | 9 | 04.06.2010 16:56 |
Открыть из Delphi файл Excel | masterdela | Общие вопросы Delphi | 5 | 30.03.2010 10:47 |
Макрос открывающий книгу Excel. | agregator | Microsoft Office Word | 4 | 10.07.2009 21:41 |
Как открыть лист в excel | Alexi | Общие вопросы Delphi | 4 | 05.07.2009 22:42 |