есть набор столбцов для каждой даты необходимо удалять группу столбцов, относящихся к дате, ранее СЕГОДНЯ()-К дней и создавать методом копирования группу столбцов для даты СЕГОДНЯ()+L дней
K и L можно задать в пределах недели, т.е. равными 7 (и 5 соответственно, чтобы получить общее решение)
есть набор столбцов для каждой даты необходимо удалять группу столбцов, относящихся к дате, ранее СЕГОДНЯ()-К дней и создавать методом копирования группу столбцов для даты СЕГОДНЯ()+L дней
K и L можно задать в пределах недели, т.е. равными 7 (и 5 соответственно, чтобы получить общее решение)карандаш
Поясните задачу более подробно, что в таблице кроме дат. А то что вы спрашиваете можно сделать так. Очищаем весь лист и заполняем строку датой от СЕГОДНЯ() - К до СЕГОДНЯ() + L. Совет. В качестве примера надо давать файл с таблицей, структура которой полностью совпадает с рабочим файлом. Имена листов, их расположение, расположение таблицы или таблиц. Для чего это надо. А для того, чтобы вы могли перекинуть формулы или макрос и все это работало сразу, без дополнительных вопросов.
Поясните задачу более подробно, что в таблице кроме дат. А то что вы спрашиваете можно сделать так. Очищаем весь лист и заполняем строку датой от СЕГОДНЯ() - К до СЕГОДНЯ() + L. Совет. В качестве примера надо давать файл с таблицей, структура которой полностью совпадает с рабочим файлом. Имена листов, их расположение, расположение таблицы или таблиц. Для чего это надо. А для того, чтобы вы могли перекинуть формулы или макрос и все это работало сразу, без дополнительных вопросов.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
В качестве примера надо давать файл с таблицей, структура которой полностью совпадает с рабочим файлом. ... это надо для того, чтобы ... все это работало сразу, без дополнительных вопросов.
согласный!
вот пример файла
правда я так и не нашел способа исключения из ряда дат суббот и воскресений. т.е. если создаваемая дата справа суббота и воскресение, то надо создавать понедельник
может для создания группы столбцов нужно использовать шаблон на дополнительной, вспомогательной второй странице (листе)? и от туда его просто тупо копировать т.е. сначала поуничтожать все группы, которые не входят в заданный диапазон (например, [СЕГОДНЯ()-3:СЕГОДНЯ()+2]), а потом посоздавать недостающие?
Цитата (AlexM)
В качестве примера надо давать файл с таблицей, структура которой полностью совпадает с рабочим файлом. ... это надо для того, чтобы ... все это работало сразу, без дополнительных вопросов.
согласный!
вот пример файла
правда я так и не нашел способа исключения из ряда дат суббот и воскресений. т.е. если создаваемая дата справа суббота и воскресение, то надо создавать понедельник
может для создания группы столбцов нужно использовать шаблон на дополнительной, вспомогательной второй странице (листе)? и от туда его просто тупо копировать т.е. сначала поуничтожать все группы, которые не входят в заданный диапазон (например, [СЕГОДНЯ()-3:СЕГОДНЯ()+2]), а потом посоздавать недостающие?карандаш
Должно получится 6 дат, а в таблице 4 Если на СЕГОДНЯ() выпадает суббота и воскресенье, как строится таблица? Удалить, столбцы с ненужной датой можно, а что создавать, только заголовки на сером фоне? Столбцы А в В непонятно зачем. Полагаю они случайно остались. Удалить? Таблица должна перестроится при открытии файла или по нажатию кнопки?
Пытаюсь понять непонятное.
Цитата (карандаш)
например, [СЕГОДНЯ()-3:СЕГОДНЯ()+2]
Должно получится 6 дат, а в таблице 4 Если на СЕГОДНЯ() выпадает суббота и воскресенье, как строится таблица? Удалить, столбцы с ненужной датой можно, а что создавать, только заголовки на сером фоне? Столбцы А в В непонятно зачем. Полагаю они случайно остались. Удалить? Таблица должна перестроится при открытии файла или по нажатию кнопки?AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Сообщение отредактировал AlexM - Понедельник, 11.02.2013, 09:29
нужно из списка фирм, которым нужно отвозить груз и список транспортных компаний, от куда получать груз (это на втором листе, как и список менеджеров) сформировать список поездок на день
что было в прошлом - неважно (если только какие-то грузы не были отвезены - их надо скопировать на следующий день) что будет - это можно загадывать/планировать на один-три дня вперед
при этом субботы и воскресения исключаются
вот надо каким-то способом реализовать "плавающий" график на пять (может 6 или 7) дней (вчера, сегодня, завтра, послезавтра и послепослезавтра)
наступает новая дата и блок "вчера" ставший теперь "позавчера" удаляется и создается блок "послепослезавтра"
я уж хотел сюда листы привлечь, тупо копировать для новых и удалять старые, но тогда никакой наглядности нет
нужно из списка фирм, которым нужно отвозить груз и список транспортных компаний, от куда получать груз (это на втором листе, как и список менеджеров) сформировать список поездок на день
что было в прошлом - неважно (если только какие-то грузы не были отвезены - их надо скопировать на следующий день) что будет - это можно загадывать/планировать на один-три дня вперед
при этом субботы и воскресения исключаются
вот надо каким-то способом реализовать "плавающий" график на пять (может 6 или 7) дней (вчера, сегодня, завтра, послезавтра и послепослезавтра)
наступает новая дата и блок "вчера" ставший теперь "позавчера" удаляется и создается блок "послепослезавтра"
я уж хотел сюда листы привлечь, тупо копировать для новых и удалять старые, но тогда никакой наглядности неткарандаш
Сообщение отредактировал карандаш - Вторник, 12.02.2013, 21:09
А я, как обычно, займусь конвертацией ваших файлов под Excel 2003.
Алекс, я не по злобе или лени не конвертирую - просто у нас у всех в конторе 2010 и то что идет на 2010 не всегда идет на 2003 там из-за ньюансов может что-то пропадает у нас стоит какой-то конвертатор автоматический (программеры поставили) и файлы автоматически при открытии конвертируются
если это не сказывается на работоспособности результата - буду выкладывать в 2003 - мне не сложно
Цитата (AlexM)
А я, как обычно, займусь конвертацией ваших файлов под Excel 2003.
Алекс, я не по злобе или лени не конвертирую - просто у нас у всех в конторе 2010 и то что идет на 2010 не всегда идет на 2003 там из-за ньюансов может что-то пропадает у нас стоит какой-то конвертатор автоматический (программеры поставили) и файлы автоматически при открытии конвертируются
если это не сказывается на работоспособности результата - буду выкладывать в 2003 - мне не сложнокарандаш
первый файл "не канает" - не позволяет одному менеджеру поставить две и более фирм-адресов потому был выбран другой формат
там дни расположены горизонтально, потому как тогда не надо вставлять строки и мучаться с макросом вставки дополнительных строк в блок на нужную дату но при этом получается слишком "широко" - это минус
если делать в столбец, то тогда вопрос вставки строки для нового адреса это было бы "красивше" и компактнее, но как реализовать вставку (и удаление) строки? удаление проще - кликнул на ячейку с красным "Х" и по макросу удалил а вставить? кликать на зелëный "+"? копировать предыдущую строку и потом удалять с неë данные?
последний вариант привлекательнее, но более трудоемкий
доп. пояснение:
первый файл "не канает" - не позволяет одному менеджеру поставить две и более фирм-адресов потому был выбран другой формат
там дни расположены горизонтально, потому как тогда не надо вставлять строки и мучаться с макросом вставки дополнительных строк в блок на нужную дату но при этом получается слишком "широко" - это минус
если делать в столбец, то тогда вопрос вставки строки для нового адреса это было бы "красивше" и компактнее, но как реализовать вставку (и удаление) строки? удаление проще - кликнул на ячейку с красным "Х" и по макросу удалил а вставить? кликать на зелëный "+"? копировать предыдущую строку и потом удалять с неë данные?
последний вариант привлекательнее, но более трудоемкийкарандаш
Я в Сообщении №5 как сделать даты в строке. Там почти как в Grafik02, но на количество дней как было в начале задания. Как повернуть вашу таблицу я не знаю, это вы должны придумать. Как удалить не нужный день и вставить данные для нового дня (знать бы где данные эти взять) вот это задача для форума.
Я в Сообщении №5 как сделать даты в строке. Там почти как в Grafik02, но на количество дней как было в начале задания. Как повернуть вашу таблицу я не знаю, это вы должны придумать. Как удалить не нужный день и вставить данные для нового дня (знать бы где данные эти взять) вот это задача для форума.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Как удалить не нужный день и вставить данные для нового дня (знать бы где данные эти взять) вот это задача для форума.
хорошо тогда можно решить задачу частями
берем за исходный файл - файл график 2 нужно удалить столбцы, относящиеся к датам ранее чем СЕГОДНЯ()-1 и добавить блок столбцов (если его нет) с датой не более СЕГОДНЯ()+3
логично сначала добавить, потом удалять ( а то после удаления может случиться, что не с чего будет копировать)
где взять -> это крайний правый блок столбцов
*** блок столбцов - набор столбцов с данными, относящийся к одной дате
Цитата (AlexM)
Как удалить не нужный день и вставить данные для нового дня (знать бы где данные эти взять) вот это задача для форума.
хорошо тогда можно решить задачу частями
берем за исходный файл - файл график 2 нужно удалить столбцы, относящиеся к датам ранее чем СЕГОДНЯ()-1 и добавить блок столбцов (если его нет) с датой не более СЕГОДНЯ()+3
логично сначала добавить, потом удалять ( а то после удаления может случиться, что не с чего будет копировать)
где взять -> это крайний правый блок столбцов
*** блок столбцов - набор столбцов с данными, относящийся к одной датекарандаш
Сообщение отредактировал карандаш - Вторник, 12.02.2013, 23:05
Часть первая Файл с заголовками от СЕГОДНЯ()-1 до СЕГОДНЯ()+3 прикреплен к сообщению. Часть вторая.
Цитата (карандаш)
где взять - крайний правый блок столбцов
Я не знаю
Таблицу двигать не надо, надо двигать данные в ней, т.е. смещать влево на N количество дней. Алгоритм может быть такой. При открытии файла, по событию Workbook_Open проверяем ячейку Е1, в которой стоит дата, с значением, например 12.02.2013 (не функция СЕГОДНЯ()). Если значение этой ячейки равно сегодняшней дате (функция Date VBA), то ничего не делаем. Если дата меньше сегодняшней, то вычисляем разницу и смещаем данные на вычисленное количество дней влево, а в Е1 записываем сегодняшнюю дату. Думаю вы хотели именно так, хотя об смещении на несколько дней еще не говорили. Это полагаю должна быть третья часть. Но вопрос где взять данные для новых блоков остается открытым.
Цитата (карандаш)
тогда можно решить задачу частями
Часть первая Файл с заголовками от СЕГОДНЯ()-1 до СЕГОДНЯ()+3 прикреплен к сообщению. Часть вторая.
Цитата (карандаш)
где взять - крайний правый блок столбцов
Я не знаю
Таблицу двигать не надо, надо двигать данные в ней, т.е. смещать влево на N количество дней. Алгоритм может быть такой. При открытии файла, по событию Workbook_Open проверяем ячейку Е1, в которой стоит дата, с значением, например 12.02.2013 (не функция СЕГОДНЯ()). Если значение этой ячейки равно сегодняшней дате (функция Date VBA), то ничего не делаем. Если дата меньше сегодняшней, то вычисляем разницу и смещаем данные на вычисленное количество дней влево, а в Е1 записываем сегодняшнюю дату. Думаю вы хотели именно так, хотя об смещении на несколько дней еще не говорили. Это полагаю должна быть третья часть. Но вопрос где взять данные для новых блоков остается открытым.AlexM
Часть вторая. Цитата (карандаш писал(а)): где взять - крайний правый блок столбцов Я не знаю
это ответ исходные данные (точнее, исходная структура) - это крайний правый набор столбцов только данные там надо обнулить после копрования дело в том, что источник данных для ячейки - это выпадающий список фирм когда он выбран, то заполняются соседние ячейки "менеджер" и "адрес" из связки, которая на втором "вспомогательном" листе
Цитата (AlexM)
Таблицу двигать не надо, надо двигать данные в ней, т.е. смещать влево на N количество дней.
да, согласен
прим. у вас пропал выпадающий список фирм, который был в каждой ячейке в колонке "фирмы"
Цитата (AlexM)
Часть вторая. Цитата (карандаш писал(а)): где взять - крайний правый блок столбцов Я не знаю
это ответ исходные данные (точнее, исходная структура) - это крайний правый набор столбцов только данные там надо обнулить после копрования дело в том, что источник данных для ячейки - это выпадающий список фирм когда он выбран, то заполняются соседние ячейки "менеджер" и "адрес" из связки, которая на втором "вспомогательном" листе
Цитата (AlexM)
Таблицу двигать не надо, надо двигать данные в ней, т.е. смещать влево на N количество дней.
да, согласен
прим. у вас пропал выпадающий список фирм, который был в каждой ячейке в колонке "фирмы"карандаш
Сообщение отредактировал карандаш - Среда, 13.02.2013, 01:03
Пропал возможно после конвертации в Excel2003. У меня выпадающих списков нет, хотя я вижу в диспетчере имен именованную формулу ПЭВ, которую делал для выпадающих списков. Опишите один блок. Что должно быть в ячейках столбца "Менеджер", "Фирма", "Адрес и "Примечание" Я в ячейках столбца "Менеджер" вижу длинную формулу, а трех следующих ячейках просто текст.
Цитата (карандаш)
у вас пропал выпадающий список фирм
Пропал возможно после конвертации в Excel2003. У меня выпадающих списков нет, хотя я вижу в диспетчере имен именованную формулу ПЭВ, которую делал для выпадающих списков. Опишите один блок. Что должно быть в ячейках столбца "Менеджер", "Фирма", "Адрес и "Примечание" Я в ячейках столбца "Менеджер" вижу длинную формулу, а трех следующих ячейках просто текст.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
вот видите вам-то легко потом найти и устранить последствия конвертации а мне это практически не под силу потому я и выкладываю файлы в том формате, в котором они потом будут работать иначе потом концов не найдешь - как скорректировать работу макросов, чтобы все заработало как надо
ОПИСАНИЕ: в блоке на один день отправная точка - столбец "менеджер" - от него пляшем менеждер кликает на пустую ячейку "менеджер" и выбирает себя затем кликает на ячеку "фирма" и получает список фирм, привязанных к нему (привязка-соответствие - это на другом листе) выбирает фирму в ячейку "примечание" автор создания заявки (т.е. менеджер) может вписать какие-нибудь пояснения по данному заказу всë по этому листу таким образом менеджер может указать два и более адресов доставки, что было невозможно при прошлом формате график-01
на вспомогательном листе есть список фирм там 4 столбца в первом - ФИО менеджера (который получается из списка менеджеров, который отдельно на этом листе) менеджер выбирает себя в соседнюю ячейку пишет название фирмы в следующую - адрес фирмы в следующую - примечания по фирме - если надо
если у менеджера несколько фирм, то получается несколько строк на одного менеджера
*** в перспективе хотелось бы потом получить для водителя список доставки на день фирм, отсортированный по рангу фирмы "ранг" фирмы присваивается водителем - чем дальше ехать, тем больший "ранг" после такой сортировки водитель получит последовательный список поездок т.о. наверное стоит предусмотреть для фирмы столбец (поле) не только для название и а дрес, но и "ранг"
Цитата (AlexM)
Пропал возможно после конвертации в Excel2003.
вот видите вам-то легко потом найти и устранить последствия конвертации а мне это практически не под силу потому я и выкладываю файлы в том формате, в котором они потом будут работать иначе потом концов не найдешь - как скорректировать работу макросов, чтобы все заработало как надо
ОПИСАНИЕ: в блоке на один день отправная точка - столбец "менеджер" - от него пляшем менеждер кликает на пустую ячейку "менеджер" и выбирает себя затем кликает на ячеку "фирма" и получает список фирм, привязанных к нему (привязка-соответствие - это на другом листе) выбирает фирму в ячейку "примечание" автор создания заявки (т.е. менеджер) может вписать какие-нибудь пояснения по данному заказу всë по этому листу таким образом менеджер может указать два и более адресов доставки, что было невозможно при прошлом формате график-01
на вспомогательном листе есть список фирм там 4 столбца в первом - ФИО менеджера (который получается из списка менеджеров, который отдельно на этом листе) менеджер выбирает себя в соседнюю ячейку пишет название фирмы в следующую - адрес фирмы в следующую - примечания по фирме - если надо
если у менеджера несколько фирм, то получается несколько строк на одного менеджера
*** в перспективе хотелось бы потом получить для водителя список доставки на день фирм, отсортированный по рангу фирмы "ранг" фирмы присваивается водителем - чем дальше ехать, тем больший "ранг" после такой сортировки водитель получит последовательный список поездок т.о. наверное стоит предусмотреть для фирмы столбец (поле) не только для название и а дрес, но и "ранг"карандаш
Сообщение отредактировал карандаш - Среда, 13.02.2013, 09:36
Если в вашем файле есть выпадающие списки, а после конвертирования у меня они пропадают, то может вы конвертируете в Excel2003 сами, вы же обещали выкладывать файлы в этом формате, т.е. по правилам. Что-то не очень хочется изобретать то что уже сделано. Первый выпадающий список менеджеров я вам делал и с ним нет вопросов, а как формируется выпадающий список фирм, зависящий от выбранного менеджера я не вижу.
Если в вашем файле есть выпадающие списки, а после конвертирования у меня они пропадают, то может вы конвертируете в Excel2003 сами, вы же обещали выкладывать файлы в этом формате, т.е. по правилам. Что-то не очень хочется изобретать то что уже сделано. Первый выпадающий список менеджеров я вам делал и с ним нет вопросов, а как формируется выпадающий список фирм, зависящий от выбранного менеджера я не вижу.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
выполняю обещание в скрепке файл в формате 2003 там все причесано и написано, чего не хватает (выпадающих списков) пока не понимаю, как организуется список (если с формулами всегда можно найти концы по ссылкам на ячейки и понять как это работает, то с выпадающими списками пока ступор)
после этого можно рассмотреть вторую часть задачи - перенос данных права налево при изменении даты.
выполняю обещание в скрепке файл в формате 2003 там все причесано и написано, чего не хватает (выпадающих списков) пока не понимаю, как организуется список (если с формулами всегда можно найти концы по ссылкам на ячейки и понять как это работает, то с выпадающими списками пока ступор)
после этого можно рассмотреть вторую часть задачи - перенос данных права налево при изменении даты.карандаш