есть телефонный справочник периодически происходят изменения количества строк (абонентов) плюс минус 100 человек в одном городе т.к. справочник потом идет на печать пустые строки неприемлимы необходимо каким либо образом (лучше макросом) заставить машину сортировать по алфавиту абонентов в пределах одного города для всех городов может маркер какой добавить? или еще что? подскажите/научите
есть телефонный справочник периодически происходят изменения количества строк (абонентов) плюс минус 100 человек в одном городе т.к. справочник потом идет на печать пустые строки неприемлимы необходимо каким либо образом (лучше макросом) заставить машину сортировать по алфавиту абонентов в пределах одного города для всех городов может маркер какой добавить? или еще что? подскажите/научитеluny
antal10, только заметил что пример не подлился - сводная работает больше со столбцами вроде да и как научить ее что город 12 сегодня в одной ячейке завтра в другой
antal10, только заметил что пример не подлился - сводная работает больше со столбцами вроде да и как научить ее что город 12 сегодня в одной ячейке завтра в другойluny
Сделать можно что угодно... Переименование я бы вообще убрал, унифицировал как "замена №". Тогда список замен/переименований можно загнать в словарь, по которому проверить каждое значение. В принципе можно туда же добавить и удаление - тогда можно перекладывать все данные из одного массива в другой, по ходу дела заменяя или не перекладывая найденные в словаре замен/удалений. Вот с добавлением пока не знаю как делать...
Сделать можно что угодно... Переименование я бы вообще убрал, унифицировал как "замена №". Тогда список замен/переименований можно загнать в словарь, по которому проверить каждое значение. В принципе можно туда же добавить и удаление - тогда можно перекладывать все данные из одного массива в другой, по ходу дела заменяя или не перекладывая найденные в словаре замен/удалений. Вот с добавлением пока не знаю как делать...Hugo
Hugo, разделил на переименование и прочее т.к. так удобнее переносить изменения из получаемого списка - замена № как правило 1-5 штук - не критично сделать вручную хотя алгоритм тот же что и переименовании и удалении
в VBA я только неделю и тапками прошу не кидать
идея вот какая возникла (я изучаю несколько книжек и уже несколько запутался) где то видел о присвоении абсолютного имени определенной ячейке - города обозвать индивидуально а диапазон в коде указывать уже в оригинальных названиях - по идее сколько строк между ними уже будет не важно - так прокатит? если да то можно и добавлять так же - добавить строки после названия города (в оригинальных изменениях они есть) но можно по идее и следующим образом номера городов везде типа XX-xxx если номер начинается на XX то добавить N строк и скопировать
Hugo, разделил на переименование и прочее т.к. так удобнее переносить изменения из получаемого списка - замена № как правило 1-5 штук - не критично сделать вручную хотя алгоритм тот же что и переименовании и удалении
в VBA я только неделю и тапками прошу не кидать
идея вот какая возникла (я изучаю несколько книжек и уже несколько запутался) где то видел о присвоении абсолютного имени определенной ячейке - города обозвать индивидуально а диапазон в коде указывать уже в оригинальных названиях - по идее сколько строк между ними уже будет не важно - так прокатит? если да то можно и добавлять так же - добавить строки после названия города (в оригинальных изменениях они есть) но можно по идее и следующим образом номера городов везде типа XX-xxx если номер начинается на XX то добавить N строк и скопироватьluny
Сообщение отредактировал luny - Суббота, 26.04.2014, 11:40
получило то но не совсем - если по каким либо причинам в диапазоне оказалась пустая строка то макрос смещает значение записанное в ячейке с именем город2в как задать правильно диапазон город1а:(город2в минус одна строка)
получило то но не совсем - если по каким либо причинам в диапазоне оказалась пустая строка то макрос смещает значение записанное в ячейке с именем город2в как задать правильно диапазон город1а:(город2в минус одна строка)luny
если сделать следующим образом в столбце А вручную присваиваем имена ячейкам тем самым ограничивая диапазон сортировки
в самом макросе делаем поиск всех ячеек с абсолютными именами сортируем диапазон перебирая имяN:имя(N+1) -1 строка вверх + 1 ячейка вправо (или можно добавить окошко с вопросом чтоб макрос универсальный был)
таким образом получим универсальный макрос для сортировки N количества динамических диапазонов только мне такое не осилить - поможет может кто?
если сделать следующим образом в столбце А вручную присваиваем имена ячейкам тем самым ограничивая диапазон сортировки
в самом макросе делаем поиск всех ячеек с абсолютными именами сортируем диапазон перебирая имяN:имя(N+1) -1 строка вверх + 1 ячейка вправо (или можно добавить окошко с вопросом чтоб макрос универсальный был)
таким образом получим универсальный макрос для сортировки N количества динамических диапазонов только мне такое не осилить - поможет может кто?luny
Сообщение отредактировал luny - Суббота, 26.04.2014, 20:54
ikki, то что увидел я в вашем примере город №1 город №1 имя1 город №1 имя2 город №1 имя3 город №1 имя4 город №1 имя5 город №1 имя6 город №2 город №2 имя10 город №2 имя11 город №2 имя7 город №2 имя8 город №2 имя9 город №3 город №3 имя12 город №2 имя13 город №2 имя14
мой пример не спорю могут быть ошибки - ребенок за руку дергал когда вводил - мог просмотреть
в моем справочнике около 70 городов/ диапазонов -как мне кажется - ваш пример куда неудобнее того что напридумывал я - хотя я и не понял как вы задаете диапазоны
ikki, то что увидел я в вашем примере город №1 город №1 имя1 город №1 имя2 город №1 имя3 город №1 имя4 город №1 имя5 город №1 имя6 город №2 город №2 имя10 город №2 имя11 город №2 имя7 город №2 имя8 город №2 имя9 город №3 город №3 имя12 город №2 имя13 город №2 имя14
мой пример не спорю могут быть ошибки - ребенок за руку дергал когда вводил - мог просмотреть
в моем справочнике около 70 городов/ диапазонов -как мне кажется - ваш пример куда неудобнее того что напридумывал я - хотя я и не понял как вы задаете диапазоныluny
ikki, не совсем то - как макрос отличает сам диапазон сортирует абонентов именно города 1 не перемешивая их с городом 2 - по пустой ячейке в столбце А?
ikki, не совсем то - как макрос отличает сам диапазон сортирует абонентов именно города 1 не перемешивая их с городом 2 - по пустой ячейке в столбце А?luny
ещё раз (хотя я об этом уже писал) кроме того, всё описанное ниже есть в коде
1. макрос сортирует данные НЕ по столбцу B 2. для сортировки временно заполняются (с помощью формул) два соседних столбца: столбец C - городами (для каждой строки) столбец D - пациентами, причём для строк с городом соотв. ячейки в столбце D остаются пустыми. 3. затем сортируется весь диапазон строк по двум столбцам - сначала по C, а потом по D 4. после этого временные вспомогательнве столбца C и D очищаются.
$^#^#%!
вам совсем лень сегодня думать?
ещё раз (хотя я об этом уже писал) кроме того, всё описанное ниже есть в коде
1. макрос сортирует данные НЕ по столбцу B 2. для сортировки временно заполняются (с помощью формул) два соседних столбца: столбец C - городами (для каждой строки) столбец D - пациентами, причём для строк с городом соотв. ячейки в столбце D остаются пустыми. 3. затем сортируется весь диапазон строк по двум столбцам - сначала по C, а потом по D 4. после этого временные вспомогательнве столбца C и D очищаются.ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki